Submission #978614

# Submission time Handle Problem Language Result Execution time Memory
978614 2024-05-09T11:29:25 Z Amaarsaa Gondola (IOI14_gondola) C++14
Compilation error
0 ms 0 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 ++) {
		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;
}

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;
      |               ^~
/usr/bin/ld: /tmp/ccL9wXeU.o: in function `main':
grader.cpp:(.text.startup+0xb6): undefined reference to `valid'
/usr/bin/ld: grader.cpp:(.text.startup+0x108): undefined reference to `countReplacement'
/usr/bin/ld: grader.cpp:(.text.startup+0x132): undefined reference to `replacement'
collect2: error: ld returned 1 exit status