# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
154251 | 2019-09-19T15:23:42 Z | karma | Worst Reporter 3 (JOI18_worst_reporter3) | C++14 | 624 ms | 23464 KB |
#include<bits/stdc++.h> #define Task "test" #define ll long long #define pb emplace_back using namespace std; const int N = int(5e5) + 5; int n, q, a[N], t, l, r, low, high, mid, ans; bool Check(int x, bool type) { int pos = (t / a[x]) * a[x] - x - 1; if(type) return pos <= r; return pos >= l; } int main() { ios_base::sync_with_stdio(0); cin.tie(0), cout.tie(0); if(fopen(Task".inp", "r")) { freopen(Task".inp", "r", stdin); freopen(Task".out", "w", stdout); } cin >> n >> q; for(int i = 0; i < n; ++i) { cin >> a[i]; if(i) a[i] = ((a[i] - 1) / a[i - 1] + 1) * a[i - 1]; } while(q --) { cin >> t >> l >> r; if(t >= l && t <= r) ans = 1; else ans = 0; low = 0, high = n - 1; while(low <= high) { mid = (low + high) >> 1; if(Check(mid, 0)) low = mid + 1; else high = mid - 1; } if(high < 0) {cout << ans << "\n"; continue;} ans += low, low = 0, high = n - 1; while(low <= high) { mid = (low + high) >> 1; if(Check(mid, 1)) high = mid - 1; else low = mid + 1; } cout << ans - low << '\n'; } }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 601 ms | 20856 KB | Output is correct |
2 | Correct | 608 ms | 20808 KB | Output is correct |
3 | Correct | 607 ms | 20764 KB | Output is correct |
4 | Correct | 606 ms | 20984 KB | Output is correct |
5 | Correct | 608 ms | 20868 KB | Output is correct |
6 | Correct | 614 ms | 20880 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 376 KB | Output is correct |
2 | Correct | 3 ms | 376 KB | Output is correct |
3 | Correct | 3 ms | 376 KB | Output is correct |
4 | Correct | 3 ms | 376 KB | Output is correct |
5 | Correct | 3 ms | 376 KB | Output is correct |
6 | Correct | 3 ms | 292 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 601 ms | 20856 KB | Output is correct |
2 | Correct | 608 ms | 20808 KB | Output is correct |
3 | Correct | 607 ms | 20764 KB | Output is correct |
4 | Correct | 606 ms | 20984 KB | Output is correct |
5 | Correct | 608 ms | 20868 KB | Output is correct |
6 | Correct | 614 ms | 20880 KB | Output is correct |
7 | Correct | 3 ms | 376 KB | Output is correct |
8 | Correct | 3 ms | 376 KB | Output is correct |
9 | Correct | 3 ms | 376 KB | Output is correct |
10 | Correct | 3 ms | 376 KB | Output is correct |
11 | Correct | 3 ms | 376 KB | Output is correct |
12 | Correct | 3 ms | 292 KB | Output is correct |
13 | Correct | 385 ms | 19392 KB | Output is correct |
14 | Correct | 398 ms | 19884 KB | Output is correct |
15 | Correct | 339 ms | 18564 KB | Output is correct |
16 | Correct | 375 ms | 19164 KB | Output is correct |
17 | Correct | 519 ms | 23448 KB | Output is correct |
18 | Correct | 525 ms | 23416 KB | Output is correct |
19 | Correct | 511 ms | 23424 KB | Output is correct |
20 | Correct | 517 ms | 23420 KB | Output is correct |
21 | Correct | 517 ms | 23320 KB | Output is correct |
22 | Correct | 523 ms | 23444 KB | Output is correct |
23 | Correct | 552 ms | 23276 KB | Output is correct |
24 | Correct | 516 ms | 23464 KB | Output is correct |
25 | Correct | 618 ms | 20876 KB | Output is correct |
26 | Correct | 624 ms | 20800 KB | Output is correct |
27 | Correct | 553 ms | 22964 KB | Output is correct |
28 | Correct | 554 ms | 23280 KB | Output is correct |
29 | Correct | 536 ms | 22876 KB | Output is correct |
30 | Correct | 552 ms | 22904 KB | Output is correct |
31 | Correct | 545 ms | 23160 KB | Output is correct |
32 | Correct | 500 ms | 19420 KB | Output is correct |
33 | Correct | 2 ms | 376 KB | Output is correct |