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"
#define N 1000005
#define ll long long int
#define MP make_pair
#define pb push_back
#define ppb pop_back
#define sp " "
#define endl "\n"
#define fi first
#define se second
#define ii pair<int,int>
#define lli pair<ll,ll>
#define fast cin.tie(0);cout.tie(0);ios_base::sync_with_stdio(false)
#define fast2 freopen ("badhair.gir","r",stdin);freopen ("badhair.cik","w",stdout);
#define mod 1000000007
#define fs(x,y) for(ll i=1;i<=y;i++) cin>>x[i]
#define fo(i,x,y) for(ll i=x;i<=y;i++)
#define INF 1000000000005
#define ull unsigned long long int
using namespace std;
int ar[N];
int valid(int n, int inputSeq[])
{
ll x=-1;
// fo(i,0,n-1)
// inputSeq[i]=ar[i];
fo(i,1,n)
{
// cout<<inputSeq[i-1]<<sp;
ar[i]=inputSeq[i-1];
}
sort(ar+1,ar+n+1);
fo(i,2,n)
if(ar[i-1]==ar[i])
return 0;
fo(i,1,n)
ar[i]=inputSeq[i-1];
// cout<<endl;
fo(i,1,n)
if(ar[i]<=n)
{
x=i;
break;
}
if(x==-1)
return 1;
// fo(i,1,n)
// cout<<ar[i]<<sp;
// cout<<endl;
// cout<<x<<endl;
int flag=0;
fo(i,x+1,n)
{
if(ar[i]<=n)
{
if((i-x+ar[x])%n!=ar[i]%n)
return 0;
}
}
return 1;
}
//----------------------
ll tut[N],tutmac[N];
int replacement(int n, int gondolaSeq[], int replacementSeq[])
{
fo(i,1,n)
ar[i]=gondolaSeq[i-1];
ar[0]=0;
ll mki=0;
fo(i,1,n)
{
tut[ar[i]]=i;
if(ar[i]>ar[mki])
mki=i;
}
ll cnt=-1;
ll l=ar[mki]-n;
fo(i,1,n)
tutmac[i]=ar[i];
ll x=0;
ar[0]=0;
fo(i,1,n)
if(ar[i]<=n)
{
x=i;
break;
}
// fo(i,1,n)
// cout<<ar[i]<<sp;
// cout<<endl;
fo(i,x+1,n)
{
ar[i]=ar[i-1]+1;
ar[i]%=n;
if(ar[i]<=0)
ar[i]+=n;
}
for(int i=x-1;i>=1;i--)
{
ar[i]=ar[i+1]-1;
ar[i]%=n;
if(ar[i]<=0)
ar[i]+=n;
}
// fo(i,1,n)
// cout<<ar[i]<<sp;
// cout<<endl;
// cout<<mki<<endl;
fo(i,n+1,tutmac[mki])
{
// cout<<i<<sp<<tut[i]<<sp<<ar[tut[i]]<<endl;
if(tut[i])
{
replacementSeq[i-n-1]=ar[tut[i]];
ar[tut[i]]=i;
}
else
{
replacementSeq[i-n-1]=ar[mki];
ar[mki]=i;
}
}
// cout<<l<<endl;
// fo(i,0,l-1)
// cout<<replacementSeq[i]<<sp;
// cout<<endl;
if(l<0)
return -1;
return l;
}
//----------------------
int countReplacement(int n, int inputSeq[])
{
return -3;
}
int bos[N];
// int main()
// {
// fast;
// ll n;
// cin>>n;
// fo(i,0,n-1)
// cin>>ar[i];
// // fo(i,0,n-1)
// // cout<<ar[i]<<sp;
// cout<<endl;
// replacement(n,bos,bos);
// }
Compilation message (stderr)
gondola.cpp: In function 'int valid(int, int*)':
gondola.cpp:58:6: warning: unused variable 'flag' [-Wunused-variable]
int flag=0;
^~~~
gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:18:19: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
#define fo(i,x,y) for(ll i=x;i<=y;i++)
^
gondola.cpp:77:4: note: in expansion of macro 'fo'
fo(i,1,n)
^~
gondola.cpp:79:5: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
ar[0]=0;
^~
gondola.cpp:88:7: warning: unused variable 'cnt' [-Wunused-variable]
ll cnt=-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... |