#include <bits/stdc++.h>
using namespace std;
const long long MOD = 1000000007;
int main(){
int ile_wydarzen, ile_zapytan;
cin >> ile_wydarzen >> ile_zapytan;
vector<pair<long long, long long>>wydarzenia(ile_wydarzen+1);
wydarzenia[0] = {0, 0};
for (int i = 1; i <= ile_wydarzen; i++){
cin >> wydarzenia[i].first >> wydarzenia[i].second;
}
long long wojownicy, przeszle, ile;
for (int i = 1; i <= ile_zapytan; i++){
cin >> wojownicy >> przeszle >> ile;
for (int j = przeszle+1; j <= ile; j++){
//cout << wojownicy << " " << (wojownicy+wydarzenia[j].first%MOD) << " " << (wojownicy*wydarzenia[j].second%MOD) << '\n';
long long a = (wojownicy+wydarzenia[j].first);
long long b = ((long long)wojownicy*wydarzenia[j].second);
wojownicy = max(a, b)%MOD;
//cout << j << ": " << wojownicy << endl;
}
cout << wojownicy%MOD << endl;
}
return 0;
}
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 | #include <bits/stdc++.h> using namespace std; const long long MOD = 1000000007; int main(){ int ile_wydarzen, ile_zapytan; cin >> ile_wydarzen >> ile_zapytan; vector<pair<long long, long long>>wydarzenia(ile_wydarzen+1); wydarzenia[0] = {0, 0}; for (int i = 1; i <= ile_wydarzen; i++){ cin >> wydarzenia[i].first >> wydarzenia[i].second; } long long wojownicy, przeszle, ile; for (int i = 1; i <= ile_zapytan; i++){ cin >> wojownicy >> przeszle >> ile; for (int j = przeszle+1; j <= ile; j++){ //cout << wojownicy << " " << (wojownicy+wydarzenia[j].first%MOD) << " " << (wojownicy*wydarzenia[j].second%MOD) << '\n'; long long a = (wojownicy+wydarzenia[j].first); long long b = ((long long)wojownicy*wydarzenia[j].second); wojownicy = max(a, b)%MOD; //cout << j << ": " << wojownicy << endl; } cout << wojownicy%MOD << endl; } return 0; } |
English