Submission #1063708

#TimeUsernameProblemLanguageResultExecution timeMemory
1063708pawned곤돌라 (IOI14_gondola)C++17
10 / 100
12 ms3280 KiB
#pragma GCC optimize("O1,O2,O3,Ofast,unroll-loops")

#include <bits/stdc++.h>
using namespace std;

#define fi first
#define se second
#define pb push_back
typedef long long ll;
typedef pair<ll, ll> ii;
typedef vector<ll> vi;

#include "gondola.h"

int valid(int N, int inputSeq[]) {
	vi a;
	for (int i = 0; i < N; i++) {
		a.pb(inputSeq[i] - 1);
	}
	int fpos = -1;	// fixed position
	int fval = -1;	// fixed val at position
	for (int i = 0; i < N; i++) {
		if (a[i] < N) {
			fpos = i;
			fval = a[i];
		}
	}
	vi b;
	if (fval > fpos) {
		int s = fval - fpos;
		for (int i = N - s; i < N; i++) {
			b.pb(a[i]);
		}
		for (int i = 0; i < N - s; i++) {
			b.pb(a[i]);
		}
	}
	else {
		int s = fpos - fval;
		for (int i = s; i < N; i++) {
			b.pb(a[i]);
		}
		for (int i = 0; i < s; i++) {
			b.pb(a[i]);
		}
	}
	for (int i = 0; i < N; i++) {
		if (b[i] < N) {
			if (b[i] != i)
				return 0;
		}
	}
	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...