Submission #159762

#TimeUsernameProblemLanguageResultExecution timeMemory
159762maximath_1Gondola (IOI14_gondola)C++11
20 / 100
58 ms5240 KiB
#include "gondola.h" #include<bits/stdc++.h> using namespace std; int valid(int n, int inputSeq[]){ map<int, bool>mp; for(int i=0; i<n; i++){ if(!mp[inputSeq[i]]) mp[inputSeq[i]]=true; else return 0; } int fi=-1; for(int i=0; i<n; i++){ if(inputSeq[i]<=n){ if(fi==-1) fi=i; else{ int check=i+inputSeq[fi]-fi; check%=n; if(check==0) check=n; if(check!=inputSeq[i]) return 0; } } } return 1; } int replacement(int n, int gondolaSeq[], int replacementSeq[]){ int rotate=0; for(int i=0; i<n; i++){ if(gondolaSeq[i]<=n) rotate=(gondolaSeq[i]-i+1)%n; } int initSeq[n]={}; priority_queue<pair<int, int>, vector<pair<int, int> >, greater<pair<int, int> > >pq; for(int i=0; i<n; i++){ initSeq[i]=gondolaSeq[(i-rotate)%n]; if(initSeq[i]>n) pq.push({initSeq[i], i+1}); } int idx=0, cnt=0; while(!pq.empty()){ int replacementGondola=pq.top().first; int idxc=pq.top().second; pq.pop(); replacementSeq[idx++]=idxc; for(int i=cnt; i<replacementGondola; i++){ replacementSeq[idx++]=i; } cnt=replacementGondola+1; } return idx; } int countReplacement(int n, int inputSeq[]){ }

Compilation message (stderr)

gondola.cpp: In function 'int countReplacement(int, int*)':
gondola.cpp:54:1: warning: no return statement in function returning non-void [-Wreturn-type]
 }
 ^
#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...