#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 time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |