# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
69274 |
2018-08-20T11:00:47 Z |
FedericoS |
Boat (APIO16_boat) |
C++14 |
|
2000 ms |
164016 KB |
#include <iostream>
#include <map>
using namespace std;
typedef long long int ll;
typedef pair<ll,ll> pll;
ll M=1000000007;
int N;
ll X[505],Y[505];
map<ll,ll> S;
map<pll,ll> DP;
ll ans;
map<ll,ll> R;
ll somma(ll a){
ll res=0;
for(ll i=a;i<10000;i++)
res=(res+R[i])%M;
return res;
}
void aggiungi(ll a, ll b){
R[a]=(R[a]+b)%M;
}
int main(){
cin>>N;
for(int i=0;i<N;i++)
cin>>X[i]>>Y[i];
for(int i=N-1;i>=0;i--)
for(ll j=X[i];j<=Y[i];j++){
DP[{i,j}]=(somma(j+1)+1)%M;
aggiungi(j,DP[{i,j}]);
//cout<<i<<" "<<j<<" "<<DP[{i,j}]<<endl;
}
//for(int i=0;i<10;i++)cout<<i<<" "<<S[i]<<endl;
for(int i=0;i<N;i++)
ans=(ans+DP[{i,X[i]}])%M;
cout<<ans;
}
/*
3
1 1
2 2
3 3
*/
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
4 ms |
376 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
4 ms |
376 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Execution timed out |
2073 ms |
164016 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
4 ms |
376 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |