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;
int valid(int n, int inputSeq[]) {
set<int> st;
vector<pair<int, int>> v;
for (int i=0 ; i<n ; i++) {
if (inputSeq[i] <= n) {
v.push_back({ inputSeq[i], i });
}
else {
if (st.find(inputSeq[i]) != st.end()) {
return 0;
}
st.insert(inputSeq[i]);
}
}
sort(v.begin(), v.end());
int sz_v = v.size();
for (int i=0 ; i<sz_v-1 ; i++) {
if (v[i].first == v[i+1].first) {
return 0;
}
if ((v[i].second + v[i+1].first - v[i].first) % n != v[i+1].second) {
return 0;
}
}
return 1;
}
//----------------------
int replacement(int n, int gondolaSeq[], int replacementSeq[]) {
int l = 0, start = -1;
vector<pair<int, int>> v;
for (int i=0 ; i<n ; i++) {
if (gondolaSeq[i] <= n) {
start = i;
break;
}
}
if (start != -1) {
int val = gondolaSeq[start] == n ? 1 : gondolaSeq[start] + 1;
for (int i=start+1 ; i<n ; i++) {
if (gondolaSeq[i] > n) {
v.push_back({ val, gondolaSeq[i] });
}
val = val == n ? 1 : val + 1;
}
for (int i=0 ; i<start ; i++) {
if (gondolaSeq[i] > n) {
v.push_back({ val, gondolaSeq[i] });
}
val = val == n ? 1 : val + 1;
}
}
else {
for (int i=0 ; i<n ; i++) {
v.push_back({ i+1, gondolaSeq[i] });
}
}
sort(v.begin(), v.end(), [](pair<int, int> a, pair<int, int> b) {
return a.second < b.second;
});
int next = n + 1;
for (pair<int, int> x : v) {
int cur = x.first, tar = x.second;
while (cur != tar) {
replacementSeq[l++] = cur;
cur = next++;
}
}
return l;
}
//----------------------
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... |