제출 #1321593

#제출 시각아이디문제언어결과실행 시간메모리
1321593tsetsenbileg곤돌라 (IOI14_gondola)C++20
10 / 100
6 ms1080 KiB
#include "gondola.h"
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
using pr = pair<int, int>;
const int INF = 1e9+7, MOD = 1e9+9;

int valid(int n, int inputSeq[]) {
  	vector<int> a(n);
  	for (int i = 0; i < n; i++) a[i] = inputSeq[i];
	int minpos = min_element(a.begin(), a.end()) - a.begin();
	if (a[minpos] > n) return 1;
	int start = ((minpos - a[minpos] + 1) % n + n) % n;
	int cur = 1;
	bool good = 1;
	multiset<int> broke;
	for (int i = start; i < n; i++) {
		if (a[i] > n) {
			broke.insert(a[i]);
		}
		if (a[i] > n || cur == a[i]) {
			cur++;
		}
		else {
			good = 0;
			break;
		}
	}
	for (int i = 0; i < start; i++) {
		if (a[i] > n || cur == a[i]) {
			cur++;
		}
		else {
			good = 0;
			break;
		}
	}
	int prev = n;
	for (auto i : broke) {
		if (prev + 1 != i) {
			good = 0;
			break;
		}
		else {
			prev++;
		}
	}
	return good;
}


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