답안 #978615

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
978615 2024-05-09T11:29:56 Z Amaarsaa 곤돌라 (IOI14_gondola) C++14
25 / 100
11 ms 1372 KB
#include<bits/stdc++.h>
#include "gondola.h"
 
using namespace std;
int Can(int n, int b[]) {
	sort ( b , b + n);
	for (int i = 1; i < n; i ++) if ( b[i]== b[i - 1]) return 0;
	return 1;
}
int valid(int n, int a[]) {
	int cnt = 0, mn = n + 1, ind = 0;

	for (int i = 0; i < n; i ++) {
		if ( a[i] <=n) {
			cnt ++;
			mn = a[i];
			ind = i;
		}
	}
	if ( cnt == 0) {
		if (!Can(n, a)) return 0;
		return 1;
	}
	int last = a[ind];
	for (int j = 0; j < n; j ++) {
		if (a[ind] <= n &&  a[ind] != last) {
			return 0;
		}
		last ++;
		if ( last == n + 1) last = 1;
		ind = (ind + 1) % n;
	}
	if (!Can(n, a)) return 0;
	return 1;
}
 
//----------------------
 
int replacement(int n, int gondola[], int replacement[])
{
	int used[250005] = {0};
	int cnt = 0, mn = n + 1, ind = 0, ind1= 0, l;
	l = 0;
	for (int i = 0; i < n; i ++) {
		if ( gondola[i] <=n) {
			cnt ++;
			mn = gondola[i];
			ind = i;
		}
		l = max(l, gondola[i]);
	}
	l -= n;
	if ( cnt == 0) {
		if (!Can(n, gondola)) return 0;
		return 1;
	}
	vector < pair <int,int > > v;
	int last = gondola[ind];
	for (int j = 0; j < n; j ++) {
		used[j + 1] = 1;
		if (gondola[ind] != last) {
			replacement[gondola[ind] - n - 1] = last;
			used[last] = 1;
		}
		used[gondola[j]] = 1;
		last ++;
		if ( last == n + 1) last = 1;
		ind = (ind + 1) % n;
	}
	for (int i = 1; i <= (n + l); i ++) {
		if (!used[i]) {
			while(used[ind1] != 0) ind1++;
			replacement[ind1] = i;
			ind1 ++;
		}
	}
	return l;
}
 
//----------------------
 
int countReplacement(int n, int inputSeq[])
{
  return -3;
}

Compilation message

gondola.cpp: In function 'int valid(int, int*)':
gondola.cpp:11:15: warning: variable 'mn' set but not used [-Wunused-but-set-variable]
   11 |  int cnt = 0, mn = n + 1, ind = 0;
      |               ^~
gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:42:15: warning: variable 'mn' set but not used [-Wunused-but-set-variable]
   42 |  int cnt = 0, mn = n + 1, ind = 0, ind1= 0, l;
      |               ^~
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 344 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 5 ms 348 KB Output is correct
7 Correct 6 ms 604 KB Output is correct
8 Correct 7 ms 604 KB Output is correct
9 Correct 3 ms 348 KB Output is correct
10 Correct 11 ms 772 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 500 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 5 ms 344 KB Output is correct
7 Correct 7 ms 600 KB Output is correct
8 Correct 10 ms 604 KB Output is correct
9 Correct 3 ms 348 KB Output is correct
10 Correct 11 ms 604 KB Output is correct
11 Correct 1 ms 348 KB Output is correct
12 Correct 1 ms 344 KB Output is correct
13 Correct 3 ms 348 KB Output is correct
14 Correct 0 ms 348 KB Output is correct
15 Correct 6 ms 856 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 1368 KB Output is correct
2 Correct 1 ms 1372 KB Output is correct
3 Correct 1 ms 1372 KB Output is correct
4 Correct 1 ms 1368 KB Output is correct
5 Correct 1 ms 1368 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 1372 KB Output is correct
2 Correct 1 ms 1372 KB Output is correct
3 Correct 1 ms 1372 KB Output is correct
4 Correct 1 ms 1372 KB Output is correct
5 Correct 1 ms 1372 KB Output is correct
6 Incorrect 1 ms 1368 KB Integer 6 violates the range [1, 5]
7 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 1368 KB Output is correct
2 Correct 1 ms 1372 KB Output is correct
3 Correct 1 ms 1372 KB Output is correct
4 Correct 1 ms 1372 KB Output is correct
5 Correct 1 ms 1368 KB Output is correct
6 Incorrect 1 ms 1368 KB Integer 6 violates the range [1, 5]
7 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 348 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 348 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 344 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -