Submission #1064369

#TimeUsernameProblemLanguageResultExecution timeMemory
1064369anangoGondola (IOI14_gondola)C++17
25 / 100
42 ms6616 KiB
#include "gondola.h" #include <bits/stdc++.h> using namespace std; int valid(int n, int inputSeq[]) { vector<int> pos(n,-1); set<int> seen; for (int i=0; i<n; i++) { if (inputSeq[i]<=n) { pos[inputSeq[i]-1] = i; } if (seen.count(inputSeq[i]-1)) { return 0; } seen.insert(inputSeq[i]-1); } set<int> S; for (int i=0; i<n; i++) { if (pos[i]!=-1) { S.insert((pos[i]-i+n)%n); } } return S.size()<=1; } //---------------------- int replacement(int n, int gondolaSeq[], int replacementSeq[]) { vector<pair<int,int>> posindex; vector<int> actual(n,-1); for (int i=0; i<n; i++) { if (gondolaSeq[i]<=n) { for (int j=0; j<n; j++) { actual[j] = (gondolaSeq[i]-1+j-i+3*n)%n; } break; } } for (int i=0; i<n; i++) { //cout << actual[i] <<" "; } //cout << endl; for (int i=0; i<n; i++) { posindex.push_back({gondolaSeq[i]-1,i}); } sort(posindex.begin(), posindex.end()); vector<int> repl; int cur = n; for (int i=0; i<posindex.size(); i++) { while (posindex[i].first>=cur) { repl.push_back(actual[posindex[i].second]); cur++; actual[posindex[i].second] = cur; } } for (int i=0; i<repl.size(); i++) { replacementSeq[i] = repl[i]+1; } //cout << "done " << repl.size() << endl; return repl.size(); } //---------------------- int countReplacement(int n, int inputSeq[]) { return -3; }

Compilation message (stderr)

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