# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
67209 | MKopchev | Gondola (IOI14_gondola) | C++14 | 54 ms | 9360 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<bits/stdc++.h>
#include "gondola.h"
using namespace std;
int valid(int n, int inputSeq[])
{
set<int> uniq={};
for(int i=0;i<n;i++)
uniq.insert(inputSeq[i]);
if(uniq.size()!=n)return 0;
int mini=0;
for(int i=1;i<n;i++)
if(inputSeq[mini]>inputSeq[i])mini=i;
int ind=(mini+1)%n;
int value=-1;
int target=inputSeq[mini];
while(ind!=mini)
{
value=inputSeq[ind];
target++;
if(value<target)return 0;
if(value<=n&&target<=n)
{
if(value!=target)return 0;
}
ind=(ind+1)%n;
}
return 1;
}
int replacement(int n, int gondolaSeq[], int replacementSeq[])
{
int mini=0;
for(int i=1;i<n;i++)
if(gondolaSeq[mini]>gondolaSeq[i])mini=i;
map<int/*number you are aiming at*/,int/*where you begin*/> start={};
if(gondolaSeq[mini]>n)
{
for(int i=0;i<n;i++)
start[gondolaSeq[i]]=i+1;
}
else
{
int value=gondolaSeq[mini],t=0;
for(int i=mini;i!=mini||t==0;i=(i+1)%n)
{
start[gondolaSeq[i]]=value;
value++;
if(value>n)value=1;
t++;
}
}
int prev=-1,ind=0;
//for(auto k:start)cout<<k.first<<" "<<k.second<<endl;
for(auto k:start)
{
if(k.first!=k.second)
{
replacementSeq[ind++]=k.second;
if(prev==-1)prev=k.second;
else prev++;
while(prev!=k.first)
{
replacementSeq[ind++]=prev;
prev++;
}
}
prev=k.first;
}
//cout<<ind<<" : ";for(int i=0;i<ind;i++)cout<<replacementSeq[i]<<" ";cout<<endl;
return ind;
}
int countReplacement(int n, int inputSeq[])
{
return -1;
}
/*
int n=7;
int v[]={2, 3, 4, 9, 6, 7, 1} ;
int arr[7];
int main()
{
cout<<replacement(n,v,arr)<<endl;
}
*/
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... |