Submission #365174

#TimeUsernameProblemLanguageResultExecution timeMemory
365174kshitij_sodaniŽarulje (COI15_zarulje)C++14
22 / 100
94 ms50332 KiB
//#pragma GCC optimize("Ofast,unroll-loops") #include <bits/stdc++.h> using namespace std; typedef long long llo; #define mp make_pair #define pb push_back #define a first #define b second #define endl '\n' llo n,k; llo mod=1e9+7; llo it[200001]; llo dp[2001][2001]; int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cin>>n>>k; for(llo i=0;i<n;i++){ cin>>it[i]; } dp[0][n-1]=1; for(llo i=n-2;i>=0;i--){ for(llo j=0;j+i<n;j++){ dp[j][j+i]=0; llo x=0; if(j>0){ x=max(x,it[j-1]); } if(j+i+1<n){ x=max(x,it[j+i+1]); } if(j>0){ if(it[j-1]==x){ dp[j][j+i]+=dp[j-1][j+i]; } } if(j+i+1<n){ if(it[j+i+1]==x){ dp[j][j+i]+=dp[j][j+i+1]; } } dp[j][j+i]%=mod; } } vector<llo> ss; for(llo i=0;i<k;i++){ llo aa; cin>>aa; ss.pb(aa-1); } for(auto j:ss){ cout<<dp[j][j]<<endl; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...