제출 #791960

#제출 시각아이디문제언어결과실행 시간메모리
791960caganyanmazGondola (IOI14_gondola)C++14
10 / 100
26 ms4536 KiB
#include "gondola.h"
#include <bits/stdc++.h>
using namespace std;

int n;

int fix(int i)
{
        int res = i % n;
        if (res < 0)
                res += n;
        return res;
}

int right(int i)
{
        return fix(i+1);
}

int valid(int nn, int v[])
{
        set<int> numbers;
        n = nn;
        int mi = 0;
        for (int i = 1; i < n; i++)
        {
                if (v[i] < v[mi])
                        mi = i;
                if (numbers.find(v[i]) != numbers.end())
                        return 0;
                numbers.insert(v[i]);
        }
        if (v[mi] > n)
                return 1;
        int si = fix(mi - v[mi] + 1);
        if (v[si] != 1 && v[si] <= n)
                return 0;
        for (int j = right(si), i = 1; i < n; j=right(j))
                if (v[j] != ++i && v[j] < n)
                        return 0;
        return 1;
}

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

int replacement(int n, int gondolaSeq[], int replacementSeq[])
{
        return 0;
}

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

int countReplacement(int n, int inputSeq[])
{
        return 0;
}
#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...