Submission #554077

#TimeUsernameProblemLanguageResultExecution timeMemory
554077ala2Boat (APIO16_boat)C++14
9 / 100
2099 ms140764 KiB
#include <bits/stdc++.h> //#define int long long #define F first #define S second #define pb push_back #define B begin() #define E end() using namespace std; int n; int a[1000]; int b[1000]; int d[200100]; map<int,int>m; map<pair<int,int>,int>dp; const int mod=1e9+7; int f(int i,int j) { if(dp[{i,j}]!=0) return dp[{i,j}]; if(i==n) return 1; int g=0; g+=f(i+1,j); if(m[i]!=m[j]) { if(d[i]>d[j]) g+=f(i+1,i); g%=mod; } return dp[{i,j}]=g%mod; } signed main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); //memset(dp,-1,sizeof dp); cin>>n; int j=1; for(int i=1;i<=n;i++){ cin>>a[i]>>b[i]; int gg=j; for(int k=a[i];k<=b[i];k++) { m[j]=gg; d[j]=k; j++; } } n=j; cout<<f(1,0)-1<<endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...