Submission #774909

#TimeUsernameProblemLanguageResultExecution timeMemory
774909SteGGWorst Reporter 3 (JOI18_worst_reporter3)C++17
12 / 100
21 ms2260 KiB
#include <bits/stdc++.h> #define int long long using namespace std; const int maxn = 1e5 + 5; int n, q; int f[maxn]; int d[maxn]; void open(){ if(fopen("input.inp", "r")){ freopen("input.inp", "r", stdin); } } signed main(){ open(); cin >> n >> q; for(int i = 1; i <= n; i++){ cin >> d[i]; } f[0] = 1; for(int i = 1; i <= n; i++){ f[i] = ceil((double)(d[i]) / (double)(f[i - 1])) * f[i - 1]; } auto get = [&](int pos, int t){ return t / f[pos] * f[pos] - pos; }; auto bin_sex = [&](int limit, int t){ int s = 0, e = n; int ans = -1; while(s <= e){ int mid = (s + e) >> 1; int pos = get(mid, t); // cout << t << " " << mid << " " << pos << endl; if(pos >= limit){ s = mid + 1; ans = mid; }else{ e = mid - 1; } } return ans + 1; }; while(q--){ int t, l, r; cin >> t >> l >> r; if(t <= l){ cout << (t == l) << endl; }else{ cout << bin_sex(l, t) - bin_sex(r + 1, t) << endl; } } return 0; }

Compilation message (stderr)

worst_reporter3.cpp: In function 'void open()':
worst_reporter3.cpp:13:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   13 |         freopen("input.inp", "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...