Submission #712999

#TimeUsernameProblemLanguageResultExecution timeMemory
712999mdubGondola (IOI14_gondola)C++14
20 / 100
23 ms4980 KiB
#include <bits/stdc++.h>
#include "gondola.h"
using namespace std;

int valid(int n, int  inputSeq[]) {
  for (int i = 0; i < n; i++) {
    inputSeq[i]--;
  }
  pair<int, int> smallest = {1e9, -1};
  for (int i = 0; i < n; i++) {
    if (inputSeq[i] < smallest.first) {
      smallest = {inputSeq[i], i};
    }
  }
  set<int> seen;
  if (smallest.first >= n) smallest.first = 0;
  int next = smallest.first;
  for (int i = smallest.second; i < n + smallest.second; i++) {
    if (inputSeq[i % n] != next && (seen.count(inputSeq[i % n]) || inputSeq[i % n] < n)) {
	return 0;
    }
    next = (next + 1) % n;
    seen.insert(inputSeq[i % n]);
  }
  return 1;
}

int replacement(int n, int gondolaSeq[], int replacementSeq[])
{ return 0;}
 
int countReplacement(int n, int inputSeq[])
{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...