Submission #124069

#TimeUsernameProblemLanguageResultExecution timeMemory
124069nvmdavaBoat (APIO16_boat)C++17
9 / 100
6 ms632 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define MOD 1000000007LL int a[505], b[505]; ll x[2005]; ll val[2005]; map<int, int> comp; set<int> in; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n; cin>>n; in.insert(0); in.insert(1); for(int i = 1; i <= n; i++){ cin>>a[i]>>b[i]; in.insert(a[i]); in.insert(b[i]); in.insert(b[i] + 1); } int oll = -1; for(auto& t : in){ x[++oll] = t; comp[t] = oll; } val[0] = 1; for(int i = 1; i <= n; i++){ int l = comp[a[i]]; int r = comp[b[i]]; int j; ll pre = 0; for(j = 0; j < l; j++){ pre = (pre + (x[j + 1] - x[j]) * val[j] % MOD) % MOD; } for(; j <= r; j++){ val[j] = (pre + val[j]) % MOD; pre = val[j]; } } ll res = -1; for(int i = 0; i < oll; i++){ res = (res + (x[i + 1] - x[i]) * val[i] % MOD) % MOD; } cout<<res; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...