Submission #588878

#TimeUsernameProblemLanguageResultExecution timeMemory
588878snasibov05Gondola (IOI14_gondola)C++14
20 / 100
29 ms4684 KiB
#include "gondola.h"
#include <bits/stdc++.h>

using namespace std;

int valid(int n, int inputSeq[]){

    int mni = 0;
    set<int> st;
    for (int i = 0; i < n; ++i){
        st.insert(inputSeq[i]);
        if (inputSeq[i] < inputSeq[mni]) mni = i;
    }

    if (st.size() < n) return 0;
    if (inputSeq[mni] > n) return 1;
    

    int k = mni - 1, x = inputSeq[mni] - 1;
    while (x > 0) {
        if (k == -1) k = n-1;
        if (inputSeq[k] != x && inputSeq[k] <= n) return 0;
        inputSeq[k] = x;
        k--, x--;
    }

    k = mni + 1, x = inputSeq[mni] + 1;
    while (x <= n){
        if (k == n) k = 0;
        if (inputSeq[k] != x && inputSeq[k] <= n) return 0;
        inputSeq[k] = x;
        k++, x++;
    }

    return 1;

}

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

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

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

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

Compilation message (stderr)

gondola.cpp: In function 'int valid(int, int*)':
gondola.cpp:15:19: warning: comparison of integer expressions of different signedness: 'std::set<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   15 |     if (st.size() < n) 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...