Submission #297936

#TimeUsernameProblemLanguageResultExecution timeMemory
297936mieszko11bGondola (IOI14_gondola)C++14
55 / 100
52 ms6136 KiB
#include "gondola.h" #include <bits/stdc++.h> using namespace std; using ii = pair<int, int>; #define X first #define Y second vector<int> S; int valid(int n, int inputSeq[]) { vector<int> S(n); for(int i = 0 ; i < n ; i++) S[i] = inputSeq[i]; set<int> hlp; for(int x : S) { if(hlp.count(x)) return 0; hlp.insert(x); } for(int i = 0 ; i < n ; i++) { if(S[i] <= n) { rotate(S.begin(), S.begin() + (i - S[i] + 1 + n) % n, S.end()); break; } } for(int i = 0 ; i < n ; i++) if(S[i] <= n && S[i] != i + 1) return 0; ::S = S; return 1; } //---------------------- int replacement(int n, int gondolaSeq[], int replacementSeq[]) { valid(n, gondolaSeq); vector<int> res; vector<ii> V; for(int i = 0 ; i < n ; i++) if(S[i] > n) V.emplace_back(S[i], i + 1); sort(V.begin(), V.end()); int nxt = n + 1; for(auto p : V) { res.push_back(p.Y); nxt++; for( ; nxt <= p.X ; nxt++) res.push_back(nxt - 1); } for(int i = 0 ; i < res.size() ; i++) replacementSeq[i] = res[i]; return res.size(); } //---------------------- int countReplacement(int n, int inputSeq[]) { return -3; }

Compilation message (stderr)

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