Submission #1322009

#TimeUsernameProblemLanguageResultExecution timeMemory
1322009wangzhiyi33Worst Reporter 3 (JOI18_worst_reporter3)C++20
100 / 100
1014 ms11240 KiB
#include<bits/stdc++.h> using namespace std; #define int long long #define ii pair<int,int> #define fir first #define sec second #define pb push_back vector<array<int,3> >apa; int solve(int wkt,int mx){ int tot=0; if(wkt<=mx)tot++; for(auto [l,r,brp] : apa){ int grk=(wkt/brp)*brp; int sisa=mx-grk; tot+=max(0LL,min(r-l+1,r-(-sisa)+1)); } return tot; } signed main(){ int n,qu; cin>>n>>qu; int d[n+1]; int inter[n+1]; for(int q=1;q<=n;q++){ cin>>d[q]; } inter[1]=d[1]; int prv=1; for(int q=2;q<=n;q++){ int brp=(inter[prv]+d[q]-1)/inter[prv]; inter[q]=brp*inter[prv]; if(inter[q]!=inter[prv]){ apa.push_back({prv,q-1,inter[prv]}); prv=q; } } apa.push_back({prv,n,inter[n]}); while(qu--){ int t,l,r; cin>>t>>l>>r; cout<<solve(t,r)-solve(t,l-1)<<endl; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...