Submission #291554

#TimeUsernameProblemLanguageResultExecution timeMemory
291554davi_bartGondola (IOI14_gondola)C++14
55 / 100
26 ms2508 KiB
#include<bits/stdc++.h> #include "gondola.h" using namespace std; #define ll long long #define fi first #define se second int valid(int n, int inputSeq[]){ int mi=1e9,pos=0; vector<int> k; for(int i=0;i<n;i++)k.push_back(inputSeq[i]); sort(k.begin(),k.end()); for(int i=1;i<n;i++){ if(k[i]==k[i-1])return 0; } for(int i=0;i<n;i++)k[i]=inputSeq[i]; for(int i=0;i<n;i++){ if(k[i]<mi){ mi=k[i]; pos=i; } } if(mi>n)return 1; pos-=mi-1; pos=(pos+2*n)%n; int cur=0; for(int i=pos;i<pos+n;i++){ cur++; int x=i%n; if(k[x]>n)continue; if(k[x]!=cur)return 0; } return 1; } //---------------------- int replacement(int n, int gondolaSeq[], int replacementSeq[]){ vector<int> k(n); for(int i=0;i<n;i++)k[i]=gondolaSeq[i]; int mi=1e9,pos=0; for(int i=0;i<n;i++){ if(k[i]<mi){ mi=k[i]; pos=i; } } pos=((pos-mi+1)%n+n*2)%n; vector<pair<int,int> >repl; int cur=0; for(int i=pos;i<pos+n;i++){ cur++; int x=i%n; if(k[x]==cur)continue; repl.push_back({k[x],cur}); } sort(repl.begin(),repl.end()); vector<int> ans; int prec=n; for(int i=0;i<repl.size();i++){ ans.push_back(repl[i].second); prec++; while(prec<repl[i].first){ ans.push_back(prec); prec++; } } for(int i=0;i<ans.size();i++)replacementSeq[i]=ans[i]; return ans.size(); } //---------------------- int countReplacement(int n, int inputSeq[]){ return -3; }

Compilation message (stderr)

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