Submission #161085

#TimeUsernameProblemLanguageResultExecution timeMemory
161085InfiniteJestGondola (IOI14_gondola)C++14
55 / 100
25 ms2404 KiB
#include <iostream> #include <fstream> #include <vector> #include <queue> #include <algorithm> #include <math.h> #include "gondola.h" #define pb push_back #define mp make_pair #define fi first #define se second using namespace std; ifstream in("input.txt"); ofstream out("output.txt"); int valid(int n, int inputSeq[]){ int ans=1; bool pres[300001]; for(int i=0;i<n;i++){ if(inputSeq[i]<=n){ int val=inputSeq[i]; for(int y=0;y<n;y++){ if((inputSeq[(i+y)%n]<=n&&inputSeq[(i+y)%n]!=val)/*||pres[inputSeq[(i+y)%n]]*/){ ans=0; break; } val++; if(val==n+1)val=1; //pres[inputSeq[(i+y)%n]]=1; } break; } } for(int i=0;i<n;i++){ if(pres[inputSeq[i]])ans=0; pres[inputSeq[i]]=1; } return ans; } int replacement(int n, int gondolaSeq[], int replacementSeq[]){ bool flag=0; vector<pair<int,int> > p; int ind=-1,val; for(int i=0;i<n;i++){ if(gondolaSeq[i]<=n){ ind=i; val=gondolaSeq[i]; } else flag=1; } if(!flag)return 0; if(ind==-1){ ind=0; val=1; } for(int i=0;i<n;i++){ if(gondolaSeq[(ind+i)%n]>n){ flag=1; p.pb(mp(gondolaSeq[(ind+i)%n],val)); //cout<<gondolaSeq[(ind+i)%n]; } val++; if(val==n+1)val=1; } sort(p.begin(),p.end()); int cur=n+1; int indtot=0; for(int i=0;i<p.size();i++){ replacementSeq[indtot++]=p[i].se; for(;cur<p[i].fi;cur++)replacementSeq[indtot++]=cur; cur=p[i].fi+1; } //for(int i=0;i<indtot;i++)cout<<replacementSeq[i]<<" "; return indtot; } int countReplacement(int n, int inputSeq[]){ return 0; }

Compilation message (stderr)

gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:71:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=0;i<p.size();i++){
                 ~^~~~~~~~~
gondola.cpp:65:10: warning: 'val' may be used uninitialized in this function [-Wmaybe-uninitialized]
       val++;
       ~~~^~
#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...