Submission #68551

#TimeUsernameProblemLanguageResultExecution timeMemory
68551KLPPBoat (APIO16_boat)C++14
9 / 100
2058 ms525312 KiB
#include<iostream> #include<stdio.h> #include<vector> using namespace std; typedef long long int lld; #define MOD 1000000007 int main(){ int n; cin>>n; pair<lld,lld> arr[n]; for(int i=0;i<n;i++)cin>>arr[i].first>>arr[i].second; vector<lld> DP[n]; lld responde=0; for(int i=0;i<n;i++){ for(int j=arr[i].first;j<=arr[i].second;j++){ int ans=1; if(j>arr[i].first){ ans+=DP[i][DP[i].size()-1]; } for(int k=0;k<i;k++){ if(j>arr[k].second){ ans+=DP[k][DP[k].size()-1]; ans%=MOD; }else if(j>arr[k].first){ ans+=DP[k][j-arr[k].first-1]; ans%=MOD; } } ans%=MOD; DP[i].push_back(ans); //responde+=ans; } responde+=DP[i][DP[i].size()-1]; responde%=MOD; } /*for(int i=0;i<n;i++){ for(int j=arr[i].first;j<=arr[i].second;j++){ cout<<DP[i][j-arr[i].first]<<" "; }cout<<endl; }*/ cout<<responde<<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...