제출 #367424

#제출 시각아이디문제언어결과실행 시간메모리
367424KoD곤돌라 (IOI14_gondola)C++17
20 / 100
13 ms1388 KiB
#include <iostream>
#include <numeric>
#include <vector>
#include <algorithm>
#include <utility>

#ifndef LOCAL
#include "gondola.h"
#endif

template <class T>
using Vec = std::vector<T>;

int valid(int n, int inputSeq[]) {
    Vec<int> rep;
    for (int i = 0; i < n; ++i) {
        inputSeq[i] -= 1;
        if (inputSeq[i] >= n) {
            rep.push_back(inputSeq[i]);
        }
    }
    if (!rep.empty()) {
        std::sort(rep.begin(), rep.end());
        if (std::unique(rep.begin(), rep.end()) != rep.end()) {
            return 0;
        }
    }
    for (int i = 0; i < n; ++i) {
        if (inputSeq[i] < n) {
            for (int j = 0; j < n; ++j) {
                const auto x = inputSeq[(i + j) % n];
                if (x < n && x != (inputSeq[i] + j) % n) {
                    return 0;
                }
            }
            return 1;
        }
    }
    return 1;
}

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

int countReplacement(int n, int inputSeq[]) {
    return 0;
}

#ifdef LOCAL
int main() {
    int n;
    std::cin >> n;
    int seq[100] = {};
    for (int i = 0; i < n; ++i) {
        std::cin >> seq[i];
    }
    std::cout << valid(n, seq) << '\n';
    return 0;
}
#endif
#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...