Submission #405807

#TimeUsernameProblemLanguageResultExecution timeMemory
405807gevacrtBoat (APIO16_boat)C++17
9 / 100
2106 ms180576 KiB
#include<bits/stdc++.h> using namespace std; typedef long long ll; typedef unsigned long long ull; typedef long double ld; typedef vector<int> vi; typedef pair<int, int> ii; typedef vector<ii> vii; typedef vector<vi> vvi; typedef vector<vii> vvii; #define INF INT_MAX #define MOD 1000000007 #define all(x) x.begin(), x.end() vii A; vector<map<int, ll>> dp; void solve(int x, int C){ auto &v = dp[x][C]; v += dp[x][C-1]+1; v %= MOD; for(int i = 0; i < x; i++){ auto it = dp[i].lower_bound(C); if(it == dp[i].begin()) continue; v += prev(it)->second; v %= MOD; } } int main(){ ios::sync_with_stdio(false); cin.tie(NULL); int N; cin >> N; A.resize(N); for(auto &[l, r] : A) cin >> l >> r; dp.resize(N); ll ans = 0; for(int x = 0; x < N; x++){ for(auto [l, r] = A[x]; l <= r; l++) solve(x, l); ans += dp[x][A[x].second]; ans %= MOD; } cout << ans << 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...