Submission #5656

#TimeUsernameProblemLanguageResultExecution timeMemory
5656baneling100Crazy old lady (IZhO13_crazy)C++98
100 / 100
12 ms1096 KiB
#include <stdio.h> int T, N, P[1001], check[1001], ans; void input(void) { int i; scanf("%d",&N); for(i=1 ; i<=N ; i++) scanf("%d",&P[i]); ans=0; } void process(void) { int i, j, now, ok; for(i=1 ; i<=N ; i++) { for(j=1 ; j<=N ; j++) check[j]=0; check[P[1]]=ok=1; now=0; for(j=2 ; j<=N && ok ; j++) { now++; if(now==i) now++; if(check[now]) { if(now==P[j]) ok=0; else { if(check[P[j]]) ok=0; else check[P[j]]=1; } } else { if(now==P[j]) check[now]=1; else ok=0; } } if(ok) { if(ans) { ans=0; break; } else ans=i; } } } void output(void) { printf("%d\n",ans); } int main(void) { int i; scanf("%d",&T); for(i=1 ; i<=T ; i++) { input(); process(); output(); } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...