Submission #1319083

#TimeUsernameProblemLanguageResultExecution timeMemory
1319083neonglitchDEL13 (info1cup18_del13)C++20
6 / 100
2 ms332 KiB
#include <iostream> using namespace std; const int N=2e5+10; int a[N],gap[N]; bool dp[N][7]; void solve() { int n,k; cin>>n>>k; a[0]=0; for(int i=1;i<=k+1;i++) { if(i<=k) cin>>a[i]; else{ a[i]=n+1; } gap[i]=a[i]-a[i-1]-1; if(gap[i]>2) { gap[i]=2-(gap[i]%2); } } // gap[i]<=2 for(int i=0;i<=k+1;i++)dp[i][0]=dp[i][1]=dp[i][2]=dp[i][3]=0; dp[1][gap[1]]=1; for(int i=2;i<=k+1;i++) { if(dp[i-1][0]) { dp[i][gap[i]]=1; } if(dp[i-1][1] and gap[i]>=1) { dp[i][gap[i]-1]=1; } if(dp[i-1][2] and gap[i]>=2) { dp[i][gap[i]-2]=1; } } int r=-1; if(dp[k+1][0])r=0; cout<<r<<endl; } int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int t; cin>>t; while(t--) { solve(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...