답안 #127834

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
127834 2019-07-10T06:58:36 Z Dr_Cow 곤돌라 (IOI14_gondola) C++14
30 / 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++){
 		if (gondolaSeq[i]>m) m=gondolaSeq[i];
 		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;
}
/*int main(){
	int ty,n,d[2500],re[2500];
	scanf("%d%d", &ty, &n);
	for (int i=0;i<n;i++)
		scanf("%d", &d[i]);
		int l=replacement(n,d,re);
		for (int i =0;i<l;i++) printf("%d ", re[i]);
}*/

Compilation message

gondola.cpp: In function 'int replacement(int, int*, int*)':
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;
       ~~~~~~~~~~~~~~^
# 결과 실행 시간 메모리 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
# 결과 실행 시간 메모리 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 380 KB Output is correct
6 Correct 7 ms 632 KB Output is correct
7 Correct 14 ms 764 KB Output is correct
8 Correct 11 ms 988 KB Output is correct
9 Correct 5 ms 632 KB Output is correct
10 Correct 13 ms 1144 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 380 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 1016 KB Output is correct
9 Correct 5 ms 504 KB Output is correct
10 Correct 13 ms 1016 KB Output is correct
11 Correct 2 ms 376 KB Output is correct
12 Correct 2 ms 376 KB Output is correct
13 Correct 8 ms 888 KB Output is correct
14 Correct 2 ms 256 KB Output is correct
15 Correct 15 ms 1144 KB Output is correct
# 결과 실행 시간 메모리 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
# 결과 실행 시간 메모리 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 380 KB Output is correct
6 Correct 2 ms 376 KB Output is correct
7 Incorrect 2 ms 376 KB Output isn't correct
8 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 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 3 ms 376 KB Output is correct
5 Correct 2 ms 376 KB Output is correct
6 Correct 2 ms 376 KB Output is correct
7 Incorrect 2 ms 376 KB Output isn't correct
8 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 256 KB Output is correct
3 Correct 2 ms 380 KB Output is correct
# 결과 실행 시간 메모리 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
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 -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 256 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 Incorrect 2 ms 376 KB Output isn't correct
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 256 KB Output is correct
3 Correct 2 ms 376 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 -