Submission #1267977

#TimeUsernameProblemLanguageResultExecution timeMemory
1267977gry3125Trains (BOI24_trains)C++20
0 / 100
23 ms1864 KiB
#include <bits/stdc++.h> #define pb push_back #define ll long long int #define all(v) (v).begin(),(v).end() #define fi first #define se second using namespace std; vector<ll> ans(100005); int main() { int n; cin >> n; queue<pair<int,ll>> st; ll cur = 0, sum = 0; for (int i = 1; i <= n; i++) { ll d, x; cin >> d >> x; ans[i] = sum; ans[1] = 1; sum %= 1000000007; if (x > 0) {st.push({i+x, ans[i]}); sum += ans[i];} while (st.front().fi <= i) {sum -= st.front().se; st.pop();} cur += ans[i]; cur %= 1000000007; } cout << cur; 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...