Submission #138717

#TimeUsernameProblemLanguageResultExecution timeMemory
138717zoooma13Gondola (IOI14_gondola)C++14
55 / 100
51 ms4740 KiB
#include "bits/stdc++.h" #include "gondola.h" using namespace std; int valid(int n, int inputSeq[]){ int mi_idx = min_element(inputSeq ,inputSeq+n)-inputSeq; set <int> ss; for(int i=0; i<n; i++) ss.insert(inputSeq[i]); if(ss.size() != n) return 0; if(inputSeq[mi_idx] >= n) return 1; int nxt = inputSeq[mi_idx]; for(int i=mi_idx; nxt<=n; i++){ if(inputSeq[i%n] != nxt && inputSeq[i%n] <= n) return 0; nxt++; } return 1; } //---------------------- int replacement(int n, int gondolaSeq[], int replacementSeq[]) { vector <pair<int ,int>> vii; int mi_idx = min_element(gondolaSeq ,gondolaSeq+n)-gondolaSeq; int nxt = gondolaSeq[mi_idx]; if(nxt > n) nxt = 1; for(int i=mi_idx; i<mi_idx+n; i++){ vii.push_back({gondolaSeq[i%n] ,nxt}); //cout << gondolaSeq[i%n] << ' ' << nxt << endl; nxt = (nxt == n ? 1 : nxt+1); } sort(vii.begin() ,vii.end()); nxt = n; vector <int> ret; for(auto&p : vii){ if(p.first <= n) continue; ret.push_back(p.second); for(nxt++; nxt != p.first; nxt++) ret.push_back(nxt); } for(int i=0; i<ret.size(); i++) replacementSeq[i] = ret[i]; return ret.size(); } //---------------------- int countReplacement(int n, int inputSeq[]) { return -3; }

Compilation message (stderr)

gondola.cpp: In function 'int valid(int, int*)':
gondola.cpp:10:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if(ss.size() != n)
        ~~~~~~~~~~^~~~
gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:47:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=0; i<ret.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...