제출 #1162641

#제출 시각아이디문제언어결과실행 시간메모리
1162641Hamed_GhaffariWorst Reporter 3 (JOI18_worst_reporter3)C++20
100 / 100
391 ms11180 KiB
#include<bits/stdc++.h> using namespace std; using ll = long long; const int MXN = 5e5+5; int n, q; ll a[MXN], b[MXN]; int get(ll t, ll x) { int l=-1, r=n+1; ll mid; while(r-l>1) { mid = (l+r)>>1; (-mid + (t/a[mid])*b[mid] >= x ? l : r) = mid; } return l+1; } int32_t main() { cin.tie(0); cout.tie(0); ios_base::sync_with_stdio(0); cin >> n >> q; a[0] = b[0] = 1; for(int i=1; i<=n; i++) { ll d; cin >> d; ll x = (d+b[i-1]-1)/b[i-1]; a[i] = a[i-1]*x; b[i] = b[i-1]*x; } while(q--) { int t, l, r; cin >> t >> l >> r; cout << get(t, l) - get(t, r+1) << '\n'; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...