Submission #1356198

#TimeUsernameProblemLanguageResultExecution timeMemory
1356198marselelGondola (IOI14_gondola)C++20
10 / 100
17 ms5480 KiB
#include "gondola.h"
#include <bits/stdc++.h>
using namespace std;

int valid(int n, int inputSeq[])
{
    vector<int> a;
    set<int> st;
    for (int i = 0; i < n; ++i) {
        a.push_back(inputSeq[i]);
        st.insert(inputSeq[i]);
    }
    if (st.size() != a.size()) {
        return 0;
    }
    for (int i = 0; i < n; ++i) {
        a.push_back(a[i]);
    }
    bool flag = false;
    for (int i = 0; i < n; ++i) {
        if (a[i] <= n)flag = true;
    }
    if (!flag) {
        return 1;
    }
    int last = -1;
    int ind = -1;
    for (int i = 0; i < n; ++i) {
        if (a[i] <= n) {
            last = a[i];
            ind = i;
        }
    }
    int cnt = 0;
    for (int i = n; i < 2 * n; ++i) {
        if (a[i] > n)continue;
        if (a[i] < last) {
            cnt++;
            int diff = (a[i] - 1) + (n - last);
            int dist = i - ind - 1;
            if (diff > dist) {
                return 0;
            }
        }
        last = a[i];
        ind = i;
    }
    assert(cnt > 0);
    return cnt <= 1;
}

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

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

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

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