90分WA#2求助
查看原帖
90分WA#2求助
469375
Imtking楼主2023/3/20 16:35

提交记录

#include <iostream>

#define int long long

using namespace std;

int a[1000100], mod = 998244353, n, q;

inline int f(int x)
{
	return x % n + 1;
}

int s[2010][2010];

inline void init()
{
	s[0][1] = 1;
	for (int i = 1; i <= 2000; ++i)
	{
		for (int j = 1; j <= i; ++j)
		{
			s[i][j] = (s[i - 1][j - 1] + s[i - 1][j]) % mod;
		}
	}
}

signed main()
{
	init();
	cin >> n;
	for (int i = 1; i <= n; ++i) cin >> a[i];
	cin >> q;
	for (int i = 1; i <= q; ++i)
	{
		int x, y, sum = 0;
		cin >> x >> y;
		for (int j = 0; j < x; ++j)
		{
			int u = ((y + j > n) ? y + j - n : y + j);
			sum = (sum + (a[u] + a[f(u)]) * s[x][j + 1]) % mod;
		}
		cout << sum << "\n";
	}
	return 0;
}
2023/3/20 16:35
加载中...