Submission #1204791

#TimeUsernameProblemLanguageResultExecution timeMemory
1204791ereringGondola (IOI14_gondola)C++20
45 / 100
11 ms2364 KiB
#include "gondola.h"
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
int valid(int n, int inputSeq[])
{
    bool flag=1;
    int req=-1;
    for(int i=0;i<n;i++){
        if(req==-1 && inputSeq[i]<=n)req=inputSeq[i]+1;
        else if(inputSeq[i]<=n && req!=inputSeq[i])flag=0;
        else req++;
        if(req>n)req=1;
    }
    return flag;
}

//----------------------

int replacement(int n, int gondolaSeq[], int replacementSeq[])
{
    int og[n],crnt=n+1,idx=0;
    vector<pair<int,int>> vec;
    for(int i=0;i<n;i++){
        og[i]=i+1;
        if(gondolaSeq[i]<=n){
            og[i]=gondolaSeq[i];
            for(int j=i+1;j<n;j++){
                og[j]=og[j-1]+1;
                if(og[j]>n)og[j]=1;
            }
            if(i>0)og[0]=og[n-1]+1;
            if(og[0]>n)og[0]=1;
            for(int j=1;j<i;j++){
                og[j]=og[j-1]+1;
                if(og[j]>n)og[j]=1;
            }
            break;
        }
    }
    for(int i=0;i<n;i++)vec.pb({gondolaSeq[i],og[i]});
    sort(vec.begin(),vec.end());
    for(int i=0;i<n;i++){
        while(vec[i].first>=crnt){
            replacementSeq[idx++]=vec[i].second;
            vec[i].second=crnt;
            crnt++;
        }
    }
    return idx;
}

//----------------------

int countReplacement(int n, int inputSeq[])
{
    return -3;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...