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 <bits/stdc++.h>
#include "gondola.h"
using namespace std;
const int MN = 250001;
bool normalize(int n, int seq[]) {
for (int i=0; i<n; ++i) {
if (seq[i] <= n) {
int val = seq[i];
int idx = (n + i - val + 1) % n;
rotate(seq, seq+idx, seq+n);
return true;
}
}
return false;
}
bool seen[MN];
int valid(int n, int inputSeq[]) {
fill(seen, seen+n, false);
normalize(n, inputSeq);
for (int i=0; i<n; ++i) { cerr << inputSeq[i] << ' '; } cerr << endl;
for (int i=0; i<n; ++i) {
if (inputSeq[i] != i+1 && inputSeq[i] <= n) {
return 0;
}
if (seen[inputSeq[i]]) {
return 0;
}
seen[inputSeq[i]] = true;
}
return 1;
}
//----------------------
int pos[MN];
int replacement(int n, int gondolaSeq[], int replacementSeq[]) {
fill(seen, seen+n, false);
normalize(n, gondolaSeq);
int mxv = 0;
int mxi = -1;
for (int i=0; i<n; ++i) {
pos[gondolaSeq[i]] = i;
seen[gondolaSeq[i]] = true;
if (mxv < gondolaSeq[i]) {
mxv = gondolaSeq[i];
mxi = i;
}
}
int cur = mxi + 1;
int idx = 0;
for (int i=n+1; i<=mxv; ++i) {
if (!seen[i] || i == mxv) {
replacementSeq[idx++] = cur;
cur = i;
} else {
replacementSeq[idx++] = pos[i] + 1;
}
}
return idx;
}
//----------------------
int countReplacement(int n, int inputSeq[]) {
return -3;
}
# | 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... |