# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
749917 | Abrar_Al_Samit | 곤돌라 (IOI14_gondola) | C++17 | 17 ms | 2360 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[]) {
get_expected(n, gondolaSeq);
vector<pair<int,int>>v;
for(int i=0; i<n; ++i) if(gondolaSeq[i]>n) {
v.emplace_back(gondolaSeq[i], expected[i]);
}
sort(v.begin(), v.end());
int l = 0;
int at = 0;
while(at<v.size()) {
int cur_gondola = v[at].second;
while(l+n+1<=v[at].first) {
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... |