Submission #1015334

#TimeUsernameProblemLanguageResultExecution timeMemory
1015334amirhoseinfar1385Gondola (IOI14_gondola)C++17
55 / 100
36 ms5724 KiB
#include "gondola.h" #include<bits/stdc++.h> using namespace std; int inf=1e9+5; int fas(int u,int v,int n){ //cout<<u<<" "<<v<<" "<<(u-v+n+n)%n<<endl; return (u-v+n+n)%n; } int valid(int n, int inputSeq[]) { set<int>st; int wh=-1,mn=inf; for(int i=0;i<n;i++){ if(inputSeq[i]<mn){ wh=i; mn=inputSeq[i]; } if(st.count(inputSeq[i])==1){ return 0; } st.insert(inputSeq[i]); } int last=mn,lastwh=wh; for(int i=0;i<n;i++){ if(inputSeq[(i+wh)%n]<=n){ if(inputSeq[(i+wh)%n]!=(mn+i)){ return 0; } lastwh=(i+wh)%n; last=inputSeq[(i+wh)%n]; } } return 1; } //---------------------- int replacement(int n, int gondolaSeq[], int replacementSeq[]) { set<pair<int,int>>st; int wh=-1,mn=inf; for(int i=0;i<n;i++){ if(gondolaSeq[i]<mn){ wh=i; mn=gondolaSeq[i]; } } wh=wh-mn+1; while(wh<0){ wh+=n; } wh%=n; for(int i=0;i<n;i++){ st.insert(make_pair(gondolaSeq[(wh+i)%n],i+1)); } int now=n+1; vector<int>all(n+1); for(int i=1;i<=n;i++){ all[i]=i; } while((int)st.size()>0){ auto x=(*st.begin()); st.erase(x); while(now<=x.first){ replacementSeq[now-(n+1)]=all[x.second]; all[x.second]=now; now++; } } return (now-(n+1)); } //---------------------- int countReplacement(int n, int inputSeq[]) { return -3; }

Compilation message (stderr)

gondola.cpp: In function 'int valid(int, int*)':
gondola.cpp:25:7: warning: variable 'last' set but not used [-Wunused-but-set-variable]
   25 |   int last=mn,lastwh=wh;
      |       ^~~~
gondola.cpp:25:15: warning: variable 'lastwh' set but not used [-Wunused-but-set-variable]
   25 |   int last=mn,lastwh=wh;
      |               ^~~~~~
#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...