제출 #14214

#제출 시각아이디문제언어결과실행 시간메모리
14214comet중앙값 배열 (balkan11_medians)C++98
100 / 100
179 ms11668 KiB
#include<bits/stdc++.h>
std::set<int> s,s2;
int main(){
	int n,a[100010];
	scanf("%d",&n);
	for(int i=0;i<n;i++)scanf("%d",&a[i]);
	for(int i=1;i<=2*n-1;i++)s.insert(i);
	std::set<int>::iterator it,t;
	int x,y;
	s2.insert(a[0]);
	s.erase(a[0]);
	printf("%d ",a[0]);
	for(int i=1;i<n;i++){
		it=s2.find(a[i-1]);
		if(*it>a[i]){
			t=s.begin();
			if(s2.find(a[i])==s2.end()){
				s2.insert(a[i]);
				x=*t;
				s2.insert(*t);
				printf("%d %d ",a[i],x);
				s.erase(a[i]);
				s.erase(x);
			}
			else{
				x=*t;
				y=*(++t);
				s2.insert(x);
				s2.insert(y);
				printf("%d %d ",x,y);
				s.erase(x);
				s.erase(y);
			}
		}
		else if(*it<a[i]){
			t=s.end();
			t--;
			if(s2.find(a[i])==s2.end()){
				s2.insert(a[i]);
				x=*t;
				s2.insert(*t);
				printf("%d %d ",a[i],x);
				s.erase(a[i]);
				s.erase(x);
			}
			else{
				x=*t;
				y=*(--t);
				s2.insert(x);
				s2.insert(y);
				printf("%d %d ",x,y);
				s.erase(x);
				s.erase(y);
			}
		}
		else{
			t=s.begin();
			x=*t;
			t=s.end();
			t--;
			y=*t;
			s2.insert(x);
			s2.insert(y);
			printf("%d %d ",x,y);
			s.erase(x);
			s.erase(y);
		}
	}
}

컴파일 시 표준 에러 (stderr) 메시지

medians.cpp: In function 'int main()':
medians.cpp:5:16: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d",&n);
                ^
medians.cpp:6:39: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  for(int i=0;i<n;i++)scanf("%d",&a[i]);
                                       ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...