Submission #127725

# Submission time Handle Problem Language Result Execution time Memory
127725 2019-07-10T03:38:06 Z Dr_Cow Gondola (IOI14_gondola) C++14
25 / 100
15 ms 1144 KB
#include <bits/stdc++.h>
#include "gondola.h"

int valid(int n, int inputSeq[]){
	int ip=-1,N[100010];
	bool tf[250010];
	for (int i=0;i<n;i++)
		if (tf[inputSeq[i]]) return 0;
		else tf[inputSeq[i]]=true;
	for (int i=0;i<n;i++){
		if (inputSeq[i]<=n){
			ip=i;break;
		}
	}
	
	if (ip==-1) return 1;
	else {
		N[ip]=inputSeq[ip];
		for (int i=ip+1;i<n;i++) {
			N[i]=N[i-1]+1;
			if (N[i]>n) N[i]-=n;
		}
		for (int i=ip-1;i>=0;i--){
			N[i]=N[i+1]-1;
			if (N[i]<=0) N[i]+=n;
		}
	}
	for (int i=0;i<n;i++)
		if (inputSeq[i]<=n && inputSeq[i]!=N[i]) 	return 0;
  return 1;

}
//----------------------

int replacement(int n, int gondolaSeq[], int replacementSeq[]){
 	bool tf[250010];
 	int tmp[250010],ip[250010];
 	int len=0,m=0;
 	for (int i =0;i<n;i++){
 		m=(gondolaSeq[i],m);
 		tf[gondolaSeq[i]]=true;
 		ip[gondolaSeq[i]]=i+1;
		}
	
	for (int i=m;i>n;i--){
		int p=i-1;
		tf[i]=false;
		while (tf[p]) p--;
		tf[p]=true;
		tmp[len]=p;
		len++;
	}
 		
 		for (int i=0;i<len;i++){
 			replacementSeq[i]=tmp[len-1-i];
		 }
 		
 
 return len;
}

//----------------------

int countReplacement(int n, int inputSeq[])
{
  return 1;
}

Compilation message

gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:40:19: warning: value computed is not used [-Wunused-value]
    m=(gondolaSeq[i],m);
       ~~~~~~~~~~~~^
gondola.cpp:40:19: warning: left operand of comma operator has no effect [-Wunused-value]
gondola.cpp:37:19: warning: variable 'ip' set but not used [-Wunused-but-set-variable]
   int tmp[250010],ip[250010];
                   ^~
gondola.cpp: In function 'int valid(int, int*)':
gondola.cpp:8:21: warning: 'tf[<unknown>]' may be used uninitialized in this function [-Wmaybe-uninitialized]
   if (tf[inputSeq[i]]) return 0;
       ~~~~~~~~~~~~~~^
gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:48:14: warning: array subscript is below array bounds [-Warray-bounds]
   while (tf[p]) p--;
          ~~~~^
gondola.cpp:49:7: warning: array subscript is below array bounds [-Warray-bounds]
   tf[p]=true;
   ~~~~^
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 348 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Correct 2 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 348 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Correct 2 ms 376 KB Output is correct
6 Correct 7 ms 632 KB Output is correct
7 Correct 13 ms 760 KB Output is correct
8 Correct 11 ms 992 KB Output is correct
9 Correct 5 ms 504 KB Output is correct
10 Correct 13 ms 1016 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Correct 2 ms 376 KB Output is correct
6 Correct 7 ms 632 KB Output is correct
7 Correct 13 ms 760 KB Output is correct
8 Correct 11 ms 988 KB Output is correct
9 Correct 5 ms 504 KB Output is correct
10 Correct 12 ms 1144 KB Output is correct
11 Correct 2 ms 256 KB Output is correct
12 Correct 2 ms 256 KB Output is correct
13 Correct 8 ms 888 KB Output is correct
14 Correct 2 ms 376 KB Output is correct
15 Correct 15 ms 1120 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 376 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 256 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 376 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 256 KB Output is correct
3 Correct 2 ms 256 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 380 KB Output is correct
5 Incorrect 2 ms 252 KB Output isn't correct
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 256 KB Output is correct
3 Correct 3 ms 256 KB Output is correct
4 Correct 2 ms 256 KB Output is correct
5 Incorrect 2 ms 376 KB Output isn't correct
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 256 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Incorrect 2 ms 376 KB Output isn't correct
6 Halted 0 ms 0 KB -