제출 #38692

#제출 시각아이디문제언어결과실행 시간메모리
3869214kg곤돌라 (IOI14_gondola)C++11
25 / 100
16 ms3844 KiB
#include "gondola.h"

int n;
int g_num, valid_w[250001], replace_num[100000];

int valid(int _n, int in[]) {
	bool g_check = false;
	
	n = _n;
	for (int i = 0; i < n; i++) {
		if (g_check) {
			g_num = g_num == n ? 1 : g_num + 1;
		}
		if (valid_w[in[i]]) return 0;
		valid_w[in[i]] = i;

		if (in[i] <= n) {
			if (g_check && g_num != in[i]) return 0;
			else if (!g_check) {
				g_check = true, g_num = in[i];
			}
		}
	}
	return 1;
}

int replacement(int _n, int in[], int out[]) {
	int out_len = 0, w, k = _n + 1;

	valid(_n, in);
	for (int i = 0; i < n; i++) {
		g_num = g_num == n ? 1 : g_num + 1;
		replace_num[i] = g_num;
	}
	for (int i = 0; i < n; i++) {
		w = replace_num[i];
		while (k <= in[i]) {
			if (valid_w[k] && valid_w[k]!=i) out[out_len++] = k++;
			else {
				out[out_len++] = w;
				w = k++;
			}
		}
	} return out_len;
}

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