제출 #775427

#제출 시각아이디문제언어결과실행 시간메모리
775427alvingogo곤돌라 (IOI14_gondola)C++14
15 / 100
7 ms724 KiB
#include "gondola.h"
#include <bits/stdc++.h>
#define fs first
#define sc second
using namespace std;

int valid(int n, int inputSeq[])
{
    int x=-1;
    for(int i=0;i<n;i++){
        if(inputSeq[i]<=n){
            x=i;
        }  
    }
    if(x==-1){
        return 1;
    }
    for(int i=x,cnt=0;cnt<n;i=(i+1)%n,cnt++){
        if(inputSeq[i]<=n && (inputSeq[i]-inputSeq[x]+n)%n!=(i-x+n)%n){
            return 0;
        }
    }
    return 1;
}

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

int replacement(int n, int gondolaSeq[], int replacementSeq[])
{
    int x=-1;
    for(int i=0;i<n;i++){
        if(gondolaSeq[i]<=n){
            x=i;
        }  
    }
    if(x==-1){
        x=0;
    }
    vector<pair<int,int> > g;
    for(int i=x,cnt=0,z=gondolaSeq[x];cnt<n;i=(i+1)%n,cnt++,z=(z+1)%n+(n*(z==n-1))){
        if(gondolaSeq[i]>n){
            g.push_back({gondolaSeq[i],z});
        }
    }
    sort(g.begin(),g.end());
    int nw=n+1,f=0;
    for(auto y:g){
        replacementSeq[f]=y.sc;
        f++;
        nw++;
        for(;nw<=y.fs;f++,nw++){
            replacementSeq[f]=nw-1;
        }
    }
    return f;
}

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

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