WA on 3 求调
查看原帖
WA on 3 求调
1060518
Vsinger_LuoTianYi楼主2024/2/2 17:32
#include <iostream>
#define int long long
using namespace std;
int a[100005], p[55][100005], p2[55][100005];
signed main() {
	int t, n, q, s, d, k, bl=50, summ=0;
	cin >> t;
	while (t--) {
		cin >> n >> q;
		for (int i=1; i<=n; i++) cin >> a[i];
		for (int i=1; i<=bl; i++) {
			for (int j=1; j<=n; j++) p[i][j] = (j - i > 0 ? p[i][j-i] : 0) + a[j];
			for (int j=1; j<=n; j++) p2[i][j] = (j - i > 0 ? p2[i][j-i] : 0) + p[i][j];
		}
		while (q--) {
			cin >> s >> d >> k;
			if (d > bl) for (int i=1; i<=k; i++) summ += a[s+(i-1)*d] * i; else {
				summ = (p[d][s+d*(k-1)] - (s - d > 0 ? p[d][s-d] : 0)) * k - (p2[d][s+d*(k-2)] - (s - d > 0 ? p2[d][s-d] : 0) - (s - d > 0 ? p[d][s-d] : 0) * (k - 1));
			}
			cout << summ << ' ';
		}
		cout << endl;
	}
}
2024/2/2 17:32
加载中...