6912 2023. 12. 19 17:15:42 111 Jó intervallumok cpp17 Elfogadva 100/100 140ms 21740 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long
#define double long double

#define pii pair<int, int>

struct Fenwick {
	vector<int> v;
 
	Fenwick(int n) : v(n) {
	}
 
	void add(int i, int x) {
		for (int j = i; j < v.size(); j += j & -j) {
			v[j] += x;
		}
	}
 
	int sum(int i) {
		int x = 0;
		for (int j = i; j > 0; j -= j & -j) {
			x += v[j];
		}
		return x;
	}
};


signed main() {
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
#ifdef CB
	freopen("in.txt", "r", stdin);
//	freopen("out.txt", "w", stdout);
#endif
	int T;
	cin >> T;
	while (T--) {
		int N;
		cin >> N;
		vector<int> v(N + 1);
		for (int i = 1; i <= N; i++) {
			cin >> v[i];
		}
		vector<int> d(N + 1, 1);
		vector<int> e(N + 1);
		for (int i = 1; i <= N; i++) {
			while (i + d[i] <= N && v[i + d[i]] % (d[i] + 1) == 0) {
				d[i]++;
			}
			e[i + d[i] - 1]++;
		}
		Fenwick f(N + 1);
		for (int i = 1, s = 0; i <= N; i++) {
			s++;
			f.add(i, s);
			s -= e[i];
		}
		int Q;
		cin >> Q;
		vector<vector<pii>> w(N + 1);
		for (int i = 0; i < Q; i++) {
			int L, R;
			cin >> L >> R;
			w[L].push_back({R, i});
		}
		vector<int> ans(Q);
		for (int i = 1, s = 0, c = 0; i <= N; i++) {
			for (auto [j, q] : w[i]) {
				ans[q] = f.sum(j) - f.sum(i - 1);
			}
			for (int j = i; j < i + d[i]; j++) {
				f.add(j, -1);
			}
		}
		for (int i = 0; i < Q; i++) {
			cout << ans[i] << '\n';
		}
	}
	return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 3ms 1832 KiB
subtask2 10/10
2 Elfogadva 3ms 2024 KiB
3 Elfogadva 3ms 2236 KiB
4 Elfogadva 3ms 2452 KiB
5 Elfogadva 3ms 2548 KiB
6 Elfogadva 3ms 2648 KiB
subtask3 20/20
7 Elfogadva 32ms 3592 KiB
8 Elfogadva 32ms 4096 KiB
9 Elfogadva 34ms 5112 KiB
10 Elfogadva 34ms 6268 KiB
11 Elfogadva 37ms 9604 KiB
subtask4 30/30
12 Elfogadva 63ms 5248 KiB
13 Elfogadva 83ms 7052 KiB
14 Elfogadva 67ms 9396 KiB
15 Elfogadva 90ms 12584 KiB
16 Elfogadva 96ms 21512 KiB
subtask5 40/40
17 Elfogadva 68ms 5624 KiB
18 Elfogadva 83ms 7432 KiB
19 Elfogadva 71ms 9832 KiB
20 Elfogadva 90ms 12996 KiB
21 Elfogadva 140ms 21740 KiB