Submission #978621

# Submission time Handle Problem Language Result Execution time Memory
978621 2024-05-09T11:37:11 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 ++) {
		used[gondola[i]] = 1;
		if ( gondola[i] <=n) {
			cnt ++;
			mn = gondola[i];
			ind = i;
		}
		l = max(l, gondola[i]);
	}
	for (i = 0; i < l; i ++) replacement[i] = 0;
	if ( cnt == 0) {
		for (int i = 1; i <= (n + l); i ++) {
			if (!used[i]) {
				while(used[ind1] != 0) ind1++;
				replacement[ind1] = i;
				ind1 ++;
			}
		}
		return l;
	}
	l -= n;
	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;
		}
		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:53:7: error: 'i' was not declared in this scope
   53 |  for (i = 0; i < l; i ++) replacement[i] = 0;
      |       ^