Submission #1237344

#TimeUsernameProblemLanguageResultExecution timeMemory
1237344zadniprovskaTrains (BOI24_trains)C++20
16 / 100
10 ms1096 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long const ll DIM = 1e5 + 7; const ll mod = 1e9 + 7; ll diff[DIM]; int main(){ ios::sync_with_stdio(false);cin.tie(nullptr); cout.tie(nullptr); ll n; cin >> n; diff[2] = -1; ll dp = 1, answer = 0; for (int i=1; i<=n; i++) { ll d, x; cin >> d >> x; // i+d ... i + x*d diff[i+d]+=dp; diff[i+d] %= mod; diff[min(n, i+x*d) + 1]-=dp; diff[min(n, i+x*d) + 1] %= mod; if (diff[min(n, i+x*d) + 1] < 0) diff[min(n, i+x*d) + 1] += mod; answer += dp; answer %= mod; dp = dp + diff[i+1]; dp %= mod; } cout << answer << endl; } ;
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...