Submission #428188

#TimeUsernameProblemLanguageResultExecution timeMemory
428188DaktoGondola (IOI14_gondola)C++17
15 / 100
39 ms4676 KiB
#include "gondola.h"
#include <bits/stdc++.h>

using namespace std;

int valid(int n, int inputSeq[])
{
    int prev=-1;
    bool br=0;
    map<int,int> m;
    for(int i=0; i<n; i++){
        if(m[inputSeq[i]]) return 0;
        m[inputSeq[i]]++;
        if(inputSeq[i]<=n){
            if(inputSeq[i]>prev) prev=inputSeq[i];
            else{
                if(br) return 0;
                else br=1;
                prev=inputSeq[i];
            }

        }
    }
    return 1;
}

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

int replacement(int n, int gondolaSeq[], int replacementSeq[])
{
    int begind=0;
    map<int,int> m;
    for(int i=0; i<n; i++){
        if(gondolaSeq[i]>n){
            m[gondolaSeq[i]]=i;
        }
        else begind=(n+i-gondolaSeq[i]+1)%n;
    }
    int c=n+1;
    for(auto i:m){
        int curr=(n+i.second-begind+1)%n;
        cerr<<i.first<<" "<<i.second<<endl;
        while(curr!=i.first){
            replacementSeq[c-n-1]=curr;
            curr=c;
            c++;
        }
    }
    return c-n-1;
}

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

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...