#include<bits/stdc++.h>
using namespace std;
using ll=long long;
using lld= long double;
#define v vector
#define pb push_back
#define FF first
#define SS second
#define ALL(a) a.begin(), a.end()
constexpr ll mod = 1e9 + 7;
int main()
{
ios_base::sync_with_stdio(0);cin.tie(0);
ll ile, ile_q;
cin>>ile>>ile_q;
v<v<ll>>aa(ile, v<ll>(3));
for(ll i=0;i<ile;i++){
cin>>aa[i][0]>>aa[i][1];
if(aa[i][1] == 1) aa[i][2] = mod+1;
else
aa[i][2] = (aa[i][0]+aa[i][1]-2)/(aa[i][1]-1) + 1;
}
for(ll i=0;i<ile_q;i++){
ll val, pocz, kon;
bool tak = 0;
cin>>val>>pocz>>kon;
for(ll j=pocz;j<kon;j++){
if(val < aa[j][2] && !tak) {
val = (val + aa[j][0]);
if(val >= mod){
tak = 1;
val %=mod;
}
}
else {
val = (val*aa[j][1]);
if(val >= mod){
tak = 1;
val%=mod;
}
}
}
cout<<val<<"\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 38 39 40 41 42 43 44 45 | #include<bits/stdc++.h> using namespace std; using ll=long long; using lld= long double; #define v vector #define pb push_back #define FF first #define SS second #define ALL(a) a.begin(), a.end() constexpr ll mod = 1e9 + 7; int main() { ios_base::sync_with_stdio(0);cin.tie(0); ll ile, ile_q; cin>>ile>>ile_q; v<v<ll>>aa(ile, v<ll>(3)); for(ll i=0;i<ile;i++){ cin>>aa[i][0]>>aa[i][1]; if(aa[i][1] == 1) aa[i][2] = mod+1; else aa[i][2] = (aa[i][0]+aa[i][1]-2)/(aa[i][1]-1) + 1; } for(ll i=0;i<ile_q;i++){ ll val, pocz, kon; bool tak = 0; cin>>val>>pocz>>kon; for(ll j=pocz;j<kon;j++){ if(val < aa[j][2] && !tak) { val = (val + aa[j][0]); if(val >= mod){ tak = 1; val %=mod; } } else { val = (val*aa[j][1]); if(val >= mod){ tak = 1; val%=mod; } } } cout<<val<<"\n"; } } |
English