Submission #1010433

#TimeUsernameProblemLanguageResultExecution timeMemory
1010433MardonbekhazratovGondola (IOI14_gondola)C++17
25 / 100
28 ms5324 KiB
#include "gondola.h" #include<bits/stdc++.h> using namespace std; int valid(int n, int inputSeq[]){ int mn=n,id=-1; map<int,int>cnt; for(int i=0;i<n;i++){ cnt[inputSeq[i]]++; if(inputSeq[i]<=mn){ mn=inputSeq[i]; id=i; } } for(auto [x,y]:cnt){ if(y>1) return 0; } if(mn==n) return 1; id=(id-mn+1+n)%n; for(int i=0;i<n;i++){ if(inputSeq[(id+i)%n]==i+1 || inputSeq[(id+i)%n]>n) continue; return 0; } return 1; } //---------------------- int replacement(int n, int gondolaSeq[], int replacementSeq[]){ const int N=2e5; vector<int>cnt(N+1,0); int mn=N,id=-1,mx=0; set<int>s; for(int i=0;i<n;i++){ cnt[gondolaSeq[i]]++; if(gondolaSeq[i]<mn){ mn=gondolaSeq[i]; id=i; } mx=max(mx,gondolaSeq[i]); if(gondolaSeq[i]<=n) s.insert(gondolaSeq[i]); } int ans=0,c=1; bool ok=false; for(int i=n+1;i<=mx;i++){ while(s.find(c)!=s.end()) c++; if(!ok) replacementSeq[ans++]=c++; if(cnt[i]){ ok=false; } else{ ok=true; replacementSeq[ans++]=i; } } return ans; } //---------------------- int countReplacement(int n, int inputSeq[]){ return 0; }

Compilation message (stderr)

gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:33:14: warning: variable 'id' set but not used [-Wunused-but-set-variable]
   33 |     int mn=N,id=-1,mx=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...