Submission #50724

#TimeUsernameProblemLanguageResultExecution timeMemory
50724TalantGondola (IOI14_gondola)C++17
15 / 100
16 ms1020 KiB
#include "gondola.h"

#include <bits/stdc++.h>

using namespace std;

const int N = 2e6 + 5;

int u[N],mx;
int id;
int mn = 1e9 + 7;

vector <int> v;

int valid(int n, int inputSeq[])
{
      for (int i = 0; i < n; i ++) {
            if (inputSeq[i] < mn)
                  mn = inputSeq[i],id = i;
      }
      int o = mn;
      for (int i = id - 1; i >= 0; i --) {
            mn --;
            if (mn == 0) mn = n;
            if (inputSeq[i] > n)
                  continue;
            if (mn != inputSeq[i])
                  return 0;
      }
      mn = o;
      for (int i = id + 1; i < n; i ++) {
            mn ++;
            if (mn == n + 1) mn = 1;
            if (inputSeq[i] > n)
                  continue;
            if (mn != inputSeq[i])
                  return 0;
      }
      return 1;
}

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

int replacement(int n, int gondolaSeq[], int replacementSeq[])
{
      for (int i = 0; i < n; i ++) {
            mx = max(mx,gondolaSeq[i]);
            u[gondolaSeq[i]] = 1;
      }
      for (int i = 1; i <= mx; i ++) {
            if (!u[i])
                  replacementSeq[id ++] = i;
      }
      return id;
}

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

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