Submission #1267988

#TimeUsernameProblemLanguageResultExecution timeMemory
1267988gry3125Trains (BOI24_trains)C++20
16 / 100
44 ms3260 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; int main() { int n; cin >> n; priority_queue<pair<int,ll>, vector<pair<int,ll>>, greater<pair<int,ll>>> st; vector<ll> ans(100005); ll cur = 0; ans[1] = 1; ll sum = 0; for (int i = 1; i <= n; i++) { ll d, x; cin >> d >> x; ans[i] = cur; ans[1] = 1; sum += ans[i]; ans[i] %= 1000000007; sum %= 1000000007; st.push({i+x, ans[i]}); cur += ans[i]; while (!st.empty() && st.top().fi <= i) { cur -= st.top().se; st.pop(); } } cout << sum; 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...