Submission #722623

#TimeUsernameProblemLanguageResultExecution timeMemory
722623Yell0Gondola (IOI14_gondola)C++17
20 / 100
10 ms980 KiB
#include <bits/stdc++.h> #include "gondola.h" using namespace std; const int MOD=1e9+9; int valid(int n,int inputSeq[]) { int st=-1; vector<int> ogIdx(n+2); set<int> usedNew; for(int i=0;i<n;++i) { if(st<0&&inputSeq[i]<=n) { st=i; ogIdx[inputSeq[i]]=i; for(int j=1;j<n;++j) ogIdx[(inputSeq[i]-1+j)%n+1]=j; } else if(inputSeq[i]<=n) { if(ogIdx[inputSeq[i]]!=i) return 0; } else { if(usedNew.count(inputSeq[i])) return 0; usedNew.insert(inputSeq[i]); } } return 1; } int replacement(int n,int gondolaSeq[],int replacementSeq[]) { vector<pair<int,int>> news; vector<int> og(n); for(int i=0;i<n;++i) if(gondolaSeq[i]>n) news.push_back({gondolaSeq[i],i}); sort(news.begin(),news.end()); bool f=0; for(int i=0;i<n;++i) { if(gondolaSeq[i]<=n) { f=1; og[i]=gondolaSeq[i]; for(int j=1;j<n;++j) og[(i+j)%n]=(og[i]-1+j)%n+1; break; } } if(!f) for(int i=0;i<n;++i) og[i]=i+1; int repi=0,currRep=n; for(int i=0;i<news.size();++i) { replacementSeq[repi++]=og[news[i].second]; ++currRep; while(currRep<news[i].first) replacementSeq[repi++]=currRep++; } for(int i=0;i<n;++i) cout<<og[i]<<" \n"[i==n-1]; return repi; } int countReplacement(int n,int inputSeq[]) {return 0;}

Compilation message (stderr)

gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:42:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   42 |   for(int i=0;i<news.size();++i) {
      |               ~^~~~~~~~~~~~
#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...