#include <bits/stdc++.h>
using namespace std;
int mod=1000000007;
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
int N,Q;
cin>>N>>Q;
long long a[N];
long long b[N];
for (int i=0;i<N;i++){
cin>>a[i]>>b[i];
}
while (Q--){
long long K,L,R;
cin>>K>>L>>R;
bool bylo=0;
for (int i=L;i<R;i++){
if (bylo){
K=(K*b[i])%mod;
} else{
if (K+a[i]<K*b[i]){
K*=b[i];
} else{
K+=a[i];
}
if (K>=mod){
bylo=1;
K%=mod;
}
}
}
cout<<K<<"\n";
}
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | #include <bits/stdc++.h> using namespace std; int mod=1000000007; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); int N,Q; cin>>N>>Q; long long a[N]; long long b[N]; for (int i=0;i<N;i++){ cin>>a[i]>>b[i]; } while (Q--){ long long K,L,R; cin>>K>>L>>R; bool bylo=0; for (int i=L;i<R;i++){ if (bylo){ K=(K*b[i])%mod; } else{ if (K+a[i]<K*b[i]){ K*=b[i]; } else{ K+=a[i]; } if (K>=mod){ bylo=1; K%=mod; } } } cout<<K<<"\n"; } } |
English