이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
#include "gondola.h"
#define F first
#define S second
using namespace std;
bool f[250003],F[250003];
int Gondol[250003];
pair < int , int > a[250003];
int valid(int n, int inputSeq[])
{
int idx=-1;
for (int i=0; i<n; i++)
if (!f[inputSeq[i]]) f[inputSeq[i]]=1;
else return 0;
for (int i=0; i<n; i++)
if (inputSeq[i]<=n) { idx=i; break; }
if (idx==-1) return 1;
int x=inputSeq[idx];
for (int i=idx+1; ; i++) {
x++;
if (x>n) x-=n;
if (i==n) i-=n;
if (i==idx) break;
if (inputSeq[i]<=n && inputSeq[i]!=x) return 0;
}
return 1;
}
//----------------------
int replacement(int n, int gondolaSeq[], int replacementSeq[])
{
int l=0,M=0,idx=-1;
for (int i=0; i<n; i++)
if (gondolaSeq[i]<=n) { idx=i; break; }
if (idx==-1) {
for (int i=0; i<n; i++)
F[gondolaSeq[i]]=1,M=max(M,gondolaSeq[i]);
for (int i=1; i<=M; i++)
if (!F[i]) replacementSeq[l++]=i;
return l;
}
for (int i=0; i<n; i++)
a[i].F=gondolaSeq[i],a[i].S=i;
sort(a,a+n);
int x=gondolaSeq[idx];
Gondol[idx]=x;
for (int i=idx+1; ; i++) {
x++;
if (x>n) x-=n;
if (i==n) i-=n;
if (i==idx) break;
Gondol[i]=x;
}
int last=n;
for (int i=0; i<n; i++) {
if (a[i].F<=n) continue;
int id=a[i].S;
replacementSeq[l++]=Gondol[id];
for (int j=last+1; j<a[i].F; j++)
replacementSeq[l++]=j;
last=a[i].F;
}
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... |