Submission #127842

#TimeUsernameProblemLanguageResultExecution timeMemory
127842StevenHGondola (IOI14_gondola)C++14
30 / 100
16 ms2296 KiB
#include "gondola.h" #include <vector> #include <algorithm> #include <iostream> using namespace std; int tag[10000000]; int a[2*100000+5]; int valid(int n, int inputSeq[]) { for(int i=0;i<n;i++) a[i]=a[n+i]=inputSeq[i]; for(int i=0;i<n;i++) { if(!tag[a[i]])tag[a[i]]=1; else return 0; } int t=0; for(int i=0;i<n;i++) if(a[i]<=n)t=1; if(t==0)return 1; int res;t=0; for(int i=0;i<2*n;i++) if(a[i]>=1 && a[i]<=n && i+1>=a[i]) {res=i;t=1;break;} for(int i=res;i<=res+n-a[res];i++) if(a[i]>=1 && a[i]<=n) if(a[i]!=i-res+a[res])return 0; return 1; } //---------------------- int replacement(int n, int gondolaSeq[], int replacementSeq[]) { for(int i=0;i<n;i++) a[i]=a[n+i]=gondolaSeq[i]; int res; for(int i=0;i<2*n;i++) if(a[i]>=1 && a[i]<=n && i+1>=a[i]) {res=i;break;} int l=0; int mx=res-a[res]+1; for(int i=res-a[res]+1;i<=res+n-a[res];i++) if(a[i]>n) if(a[i]>a[mx]) mx=i; for(int i=res-a[res]+1;i<=res+n-a[res];i++) if(a[i]>n && i!=mx) replacementSeq[a[i]-n-1]=i-res+a[res]; int r=mx-res+a[res]; int rr=a[mx]-n; for(int i=0;i<rr;i++) if(!replacementSeq[i]) replacementSeq[i]=r; if(rr<0)return 0; return rr; } //---------------------- int countReplacement(int n, int inputSeq[]) { return 1; }

Compilation message (stderr)

gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:42:6: warning: unused variable 'l' [-Wunused-variable]
  int l=0;
      ^
gondola.cpp: In function 'int valid(int, int*)':
gondola.cpp:22:6: warning: 'res' may be used uninitialized in this function [-Wmaybe-uninitialized]
  int res;t=0;
      ^~~
gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:38:6: warning: 'res' may be used uninitialized in this function [-Wmaybe-uninitialized]
  int res;
      ^~~
#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...