제출 #713662

#제출 시각아이디문제언어결과실행 시간메모리
713662mdub곤돌라 (IOI14_gondola)C++14
25 / 100
25 ms5000 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[]) {
  set<int> s;
  int maxi = *max_element(gondolaSeq, gondolaSeq + n);
  for (int i = 1; i <= maxi; i++) {
    s.insert(i);
  }
  for (int i = 0; i < n; i++) {
    s.erase(gondolaSeq[i]);
  }
  int i= 0;
  for (auto elem: s) {
    replacementSeq[i] = elem;
    cerr << elem << " ";
    i++;
  }
  return s.size();
  
}
 
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...