#include <bits/stdc++.h>
#define ll long long
#define pb push_back
#define f first
#define s second
using namespace std;
const int N = 5e5 + 5;
int n, q, d[N];
vector < pair < int , int > > v;
main () {
ios::sync_with_stdio(false);
cin.tie(NULL), cout.tie(NULL);
cin >> n >> q;
for (int i = 1; i <= n; ++i) {
cin >> d[i];
}
int x = 1;
for (int i = 1; i <= n; ++i) {
if (!v.size() || x < d[i]) {
v.pb({x * ((d[i] - 1) / x + 1), 1});
x = v.back().f;
}
else
if (d[i] <= x) {
++v.back().s;
}
}
int t, l, r, sum, ans, L, R;
for (int i = 1; i <= q; ++i) {
cin >> t >> l >> r;
if (t < l) {
cout << 0 << "\n";
continue;
}
sum = -1, ans = (l <= t && t <= r);
for (int j = 0; j < v.size(); ++j) {
R = t + (sum - t % v[j].f);
L = R - v[j].s + 1;
if (R < l) break;
if (R > r) R = r;
if (L < l) L = l;
if (L <= R) ans += R - L + 1;
sum -= v[j].s;
}
cout << ans << "\n";
}
}
Compilation message
worst_reporter3.cpp:15:7: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
15 | main () {
| ^
worst_reporter3.cpp: In function 'int main()':
worst_reporter3.cpp:44:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
44 | for (int j = 0; j < v.size(); ++j) {
| ~~^~~~~~~~~~
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
259 ms |
6340 KB |
Output is correct |
2 |
Correct |
274 ms |
6288 KB |
Output is correct |
3 |
Correct |
258 ms |
6372 KB |
Output is correct |
4 |
Correct |
254 ms |
6288 KB |
Output is correct |
5 |
Correct |
254 ms |
6364 KB |
Output is correct |
6 |
Correct |
254 ms |
6336 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
332 KB |
Output is correct |
2 |
Correct |
1 ms |
332 KB |
Output is correct |
3 |
Correct |
1 ms |
340 KB |
Output is correct |
4 |
Correct |
1 ms |
336 KB |
Output is correct |
5 |
Correct |
1 ms |
344 KB |
Output is correct |
6 |
Correct |
1 ms |
332 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
259 ms |
6340 KB |
Output is correct |
2 |
Correct |
274 ms |
6288 KB |
Output is correct |
3 |
Correct |
258 ms |
6372 KB |
Output is correct |
4 |
Correct |
254 ms |
6288 KB |
Output is correct |
5 |
Correct |
254 ms |
6364 KB |
Output is correct |
6 |
Correct |
254 ms |
6336 KB |
Output is correct |
7 |
Correct |
1 ms |
332 KB |
Output is correct |
8 |
Correct |
1 ms |
332 KB |
Output is correct |
9 |
Correct |
1 ms |
340 KB |
Output is correct |
10 |
Correct |
1 ms |
336 KB |
Output is correct |
11 |
Correct |
1 ms |
344 KB |
Output is correct |
12 |
Correct |
1 ms |
332 KB |
Output is correct |
13 |
Correct |
256 ms |
4312 KB |
Output is correct |
14 |
Correct |
257 ms |
3296 KB |
Output is correct |
15 |
Correct |
243 ms |
4284 KB |
Output is correct |
16 |
Correct |
294 ms |
4412 KB |
Output is correct |
17 |
Correct |
339 ms |
18848 KB |
Output is correct |
18 |
Correct |
350 ms |
23244 KB |
Output is correct |
19 |
Correct |
349 ms |
23500 KB |
Output is correct |
20 |
Correct |
356 ms |
23224 KB |
Output is correct |
21 |
Correct |
333 ms |
23212 KB |
Output is correct |
22 |
Correct |
341 ms |
23376 KB |
Output is correct |
23 |
Correct |
333 ms |
23236 KB |
Output is correct |
24 |
Correct |
340 ms |
23448 KB |
Output is correct |
25 |
Correct |
267 ms |
20648 KB |
Output is correct |
26 |
Correct |
269 ms |
20692 KB |
Output is correct |
27 |
Correct |
348 ms |
22852 KB |
Output is correct |
28 |
Correct |
357 ms |
23168 KB |
Output is correct |
29 |
Correct |
354 ms |
22728 KB |
Output is correct |
30 |
Correct |
354 ms |
22848 KB |
Output is correct |
31 |
Correct |
351 ms |
23088 KB |
Output is correct |
32 |
Correct |
264 ms |
19312 KB |
Output is correct |
33 |
Correct |
1 ms |
204 KB |
Output is correct |