# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
749914 | Abrar_Al_Samit | Gondola (IOI14_gondola) | C++17 | 9 ms | 1412 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "gondola.h"
#include <bits/stdc++.h>
using namespace std;
const int nax = 1e5 + 3;
int cnt[nax];
int expected[nax];
void get_expected(int n, int inputSeq[]) {
for(int i=0; i<n; ++i) {
expected[i] = 0;
}
int min_at = min_element(inputSeq, inputSeq+n) - inputSeq;
int cur_val = inputSeq[min_at];
int cur_id = min_at;
for(int i=cur_id; ; ++i, ++cur_val) {
if(i==n) i = 0;
if(cur_val>n) cur_val = 1;
if(expected[i]) break;
expected[i] = cur_val;
}
}
int valid(int n, int inputSeq[]) {
for(int i=0; i<n; ++i) {
cnt[inputSeq[i]]++;
if(cnt[inputSeq[i]]>1) {
return 0;
}
}
get_expected(n, inputSeq);
for(int i=0; i<n; ++i) if(inputSeq[i]<=n) {
if(inputSeq[i]!=expected[i]) return 0;
}
return 1;
}
//----------------------
int replacement(int n, int gondolaSeq[], int replacementSeq[]) {
vector<int>v;
for(int i=0; i<n; ++i) if(gondolaSeq[i]>n) {
v.push_back(gondolaSeq[i]);
}
set<int>absent;
for(int i=1; i<=n; ++i) {
absent.insert(i);
}
for(int i=0; i<n; ++i) if(gondolaSeq[i]<=n) {
absent.erase(gondolaSeq[i]);
}
sort(v.begin(), v.end());
int l = 0;
int at = 0;
while(at<v.size()) {
int cur_gondola = *absent.begin();
absent.erase(cur_gondola);
while(l+n+1<=v[at]) {
replacementSeq[l] = cur_gondola;
cur_gondola = l+n+1;
++l;
}
++at;
}
return l;
}
//----------------------
int countReplacement(int n, int inputSeq[])
{
return -3;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |