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>
#define jizz ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
#define pb push_back
#define MP make_pair
#define F first
#define S second
#define MEM(i,j) memset(i,j,sizeof i)
#define ALL(v) v.begin(),v.end()
#define ET cout << "\n"
#define DB(a,s,e) {for(int i=s;i<e;++i) cout << a[i] << " ";ET;}
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
int valid(int n, int inputSeq[])
{
int p=min_element(inputSeq,inputSeq+n)-inputSeq;
vector<int> v(inputSeq,inputSeq+n);
sort(ALL(v));
for(int i=0;i+1<n;++i)
if(v[i]==v[i+1]) return 0;
if(inputSeq[p]>n) return 1;
for(int i=p;i<p+n;++i)
if(inputSeq[i%n]<=n&&inputSeq[i%n]!=inputSeq[p]+i-p)
return 0;
return 1;
}
//----------------------
int replacement(int n, int gondolaSeq[], int replacementSeq[])
{
vector<int> org(n);
int p=min_element(gondolaSeq,gondolaSeq+n)-gondolaSeq;
if(gondolaSeq[p]>n)
for(int i=0;i<n;++i)
org[i]=i+1;
else
for(int i=p;i<p+n;++i)
org[i%n]=(gondolaSeq[p]+i-p-1)%n+1;
vector<pii> v;
for(int i=0;i<n;++i)
if(gondolaSeq[i]>n)
v.pb(MP(gondolaSeq[i],i));
sort(ALL(v));
int nw=n+1,tp=0;
for(pii i:v)
{
replacementSeq[tp++]=org[i.S];
while(nw<=i.F)
replacementSeq[tp++]=nw++;
}
return tp;
}
//----------------------
int countReplacement(int n, int inputSeq[])
{
if(!valid(n,inputSeq)) return 0;
return 1;
}
# | 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... |