Submission #798669

#TimeUsernameProblemLanguageResultExecution timeMemory
798669LiudasGondola (IOI14_gondola)C++17
25 / 100
26 ms5668 KiB
#include <bits/stdc++.h> #include "gondola.h" using namespace std; int valid(int N, int seq[]){ vector<int> s(2 * N); set<int> ss; int val = true; for(int i = 0; i < N; i ++){ ss.insert(seq[i]); s[i] = seq[i]; s[i + N] = seq[i]; } if(ss.size()!=N)val = false; int start = min_element(s.begin(), s.begin() + N) - s.begin(); int k = *min_element(s.begin(), s.begin() + N); for(int i = start; i < start + N; i ++, k ++){ if(s[i] <= N && s[i] != k){ val = false; } } return val; } int replacement(int N, int seq[], int rseq[]){ vector<int> s(2 * N), ss(2 * N); vector<pair<int, int>> arr(N); for(int i = 0; i < N; i ++){ s[i] = seq[i]; s[N+i] = seq[i]; } int k = min_element(s.begin(), s.begin() + N) - s.begin(); int t = *min_element(s.begin(), s.begin() + N); for(int i = k; i < k + N; i ++){ ss[i] = (t-1)%N+1; t++; } for(int i = k; i < k + N; i ++){ arr[i-k] = {s[i], ss[i]}; } int p = 0; int last = N + 1; sort(arr.begin(), arr.end()); for(int i = 0; i < N; i ++){ //cout << arr[i].first << " " << arr[i].second << " " << p <<endl; if(arr[i].first > N){ rseq[p++] = arr[i].second; for(;last < arr[i].first;){ rseq[p++] = last++; } } } return p; } int countReplacement(int N, int seq[]){ return 0; }

Compilation message (stderr)

gondola.cpp: In function 'int valid(int, int*)':
gondola.cpp:13:17: warning: comparison of integer expressions of different signedness: 'std::set<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   13 |     if(ss.size()!=N)val = false;
      |        ~~~~~~~~~^~~
#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...