Submission #1233627

#TimeUsernameProblemLanguageResultExecution timeMemory
1233627AriadnaTrains (BOI24_trains)C++20
16 / 100
34 ms3144 KiB
#include <bits/stdc++.h> #define ll long long using namespace std; const int mod = 1e9+7, N = 1e5; ll dp[N]; int main() { int n; cin >> n; vector<int> d(n), x(n); for (int i = 0; i < n; ++i) cin >> d[i] >> x[i]; vector<int> final(n); for (int i = 0; i < n; ++i) final[i] = min(n, i+d[i]*x[i]+1); dp[n-1] = 1; vector<ll> suff(n+1, 0); suff[n-1] = dp[n-1]; for (int i = n-2; i >= 0; --i) { dp[i] = (1+suff[i+1]-suff[final[i]]+mod)%mod; suff[i] = (suff[i+1]+dp[i])%mod; } cout << dp[0] << endl; return 0; }
#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...