Submission #978910

# Submission time Handle Problem Language Result Execution time Memory
978910 2024-05-10T01:27:48 Z Amaarsaa Gondola (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;
	int s;
	vector < pair <int,int > > v;
	int last = gondola[ind];
	for (int j = 0; j < n; j ++) {
		used[gondola[j]] = 1;
		if (gondola[ind] != last) {
			if ( gondola[ind] == l + n) {
				s = last;
				continue;
			}
			replacement[gondola[ind] - n - 1] = last;
			used[last] = 1;
		}
	
		last ++;
		if ( last == n + 1) last = 1;
		ind = (ind + 1) % n;
	}
	while(replacement[ind1] != 0) ind1 ++;
	replacement[ind1] = s;
	used[s] = 1;
	for (int i = 1; i <= (n + l); i ++) {
		if (!used[i]) {
			while(replacement[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;
      |               ^~
gondola.cpp:72:20: warning: 's' may be used uninitialized in this function [-Wmaybe-uninitialized]
   72 |  replacement[ind1] = s;
      |  ~~~~~~~~~~~~~~~~~~^~~
# Verdict Execution time Memory 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
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 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
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 604 KB Output is correct
# Verdict Execution time Memory 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 344 KB Output is correct
5 Correct 0 ms 344 KB Output is correct
6 Correct 5 ms 348 KB Output is correct
7 Correct 6 ms 580 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 696 KB Output is correct
11 Correct 0 ms 348 KB Output is correct
12 Correct 1 ms 348 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 604 KB Output is correct
# Verdict Execution time Memory 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
# Verdict Execution time Memory Grader output
1 Correct 1 ms 1372 KB Output is correct
2 Correct 1 ms 1228 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 Correct 1 ms 1368 KB Output is correct
7 Incorrect 2 ms 1372 KB Output isn't correct
8 Halted 0 ms 0 KB -
# Verdict Execution time Memory 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 Correct 1 ms 1372 KB Output is correct
7 Incorrect 1 ms 1372 KB Output isn't correct
8 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 348 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 344 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 348 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 348 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -