# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
135139 | 2019-07-23T16:41:46 Z | doowey | Worst Reporter 3 (JOI18_worst_reporter3) | C++14 | 723 ms | 7264 KB |
#pragma GCC optimize("Ofast") #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<ll, ll> pii; #define fi first #define se second #define mp make_pair #define fastIO ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); const int N = (int)5e5 + 9; const ll MAX = (ll)2e18; ll per[N]; ll compute(int id, ll tim){ return (tim-(tim%per[id]))-id; } int main(){ fastIO; int n, q; cin >> n >> q; cin >> per[1]; for(int i = 2; i <= n; i ++ ){ cin >> per[i]; per[i] = (per[i - 1] * (((per[i] - 1) / per[i-1]) + 1)); per[i] = min(per[i], MAX); } ll L, R, T; ll res; int lf, rf, md; int p1, p2; for(int i = 0 ; i < q; i ++ ){ cin >> T >> L >> R; p1 = 0; p2 = n; for(int j = 22; j >= 0 ; j -- ){ if(p1 + (1 << j) <= n){ if(compute(p1 + (1 << j), T) >= L) p1 += (1 << j); } if(p2 - (1 << j) >= 1){ if(compute(p2 - (1 << j), T) <= R){ p2 -= (1 << j); } } } cout << max(0, p1 - p2 + 1) + (T >= L && T <= R) << "\n"; } return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 723 ms | 7264 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 380 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 | 380 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 723 ms | 7264 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |