Submission #1146203

#TimeUsernameProblemLanguageResultExecution timeMemory
1146203julia_08Gondola (IOI14_gondola)C++20
20 / 100
6 ms1348 KiB
#include "gondola.h"
#include <bits/stdc++.h>

using namespace std;

const int MAXN = 3e5 + 10;

int marc[MAXN];

int id(int x, int n){
  if(x == -1) return n - 1;
  if(x == n) return 0;
  return x;
}

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

  int pos_1 = -1;

  for(int i=0; i<n; i++){
    if(inputSeq[i] == 1) pos_1 = i;
    marc[inputSeq[i]] = 0;
  }

  for(int i=0; i<n; i++){
    marc[inputSeq[i]] ++;
    if(marc[inputSeq[i]] > 1) return 0;
  }

  int cur_pos = id(pos_1 + 1, n);

  while(cur_pos != pos_1){
    if(inputSeq[cur_pos] <= n && inputSeq[id(cur_pos - 1, n)] <= n && inputSeq[cur_pos] != inputSeq[id(cur_pos - 1, n)] + 1) return 0;
    cur_pos = id(cur_pos + 1, n);
  }

  return 1;
}

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

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