Submission #1017600

#TimeUsernameProblemLanguageResultExecution timeMemory
1017600vivkostovGondola (IOI14_gondola)C++14
55 / 100
12 ms7772 KiB
#include<bits/stdc++.h> #define endl '\n' #include "gondola.h" using namespace std; void speed() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); } struct cell { int v,st; }; bool cmp(cell a1,cell a2) { return a1.st<a2.st; } int n,a[200005],used[1000005],ind[200005]; cell c[200005]; int valid(int n,int seq[]) { int br=0; for(int i=1;i<=n;i++) { a[i]=seq[i-1]; } for(int i=1;i<=n;i++) { if(a[i]<=n) { if(!br)br=a[i]; else { if(a[i]!=br) { return 0; } } } if(used[a[i]]) { return 0; } used[a[i]]=1; if(br)br++; if(br>n)br=1; } for(int i=n+2;i<=250000;i++) { if(used[i]&&!used[i-1]) { return 0; } } return 1; } int replacement(int n, int seq[], int rseq[]) { int st=1,val=1,next=n+1; for(int i=1;i<=n;i++) { a[i]=seq[i-1]; } for(int i=1;i<=n;i++) { if(a[i]<=n) { st=i; val=a[i]; break; } } for(int i=st;i<=n;i++) { ind[i]=val; val++; if(val>n)val=1; } for(int i=1;i<st;i++) { ind[i]=val; val++; } for(int i=1;i<=n;i++) { c[i].v=ind[i]; c[i].st=a[i]; } sort(c+1,c+n+1,cmp); int br=0; for(int i=1;i<=n;i++) { if(c[i].st>n) { while(c[i].v!=c[i].st) { rseq[br]=c[i].v; br++; c[i].v=next; next++; } } } return br; } int countReplacement(int n, int inputSeq[]) { return 0; } /*int main() { speed(); read(); 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...
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...