제출 #68711

#제출 시각아이디문제언어결과실행 시간메모리
68711imsifileBox Run (FXCUP3_box)C++98
0 / 100
3 ms540 KiB
#include<stdio.h>

int N, stk[505050][2], scn, dap[505050];

int main(){
	scanf("%d", &N);
	for(int i=1; i<=N; i++) dap[i]=-1;
	stk[scn][0]=1<<30, stk[scn++][1]=-1;
	for(int i=0; i<N; i++){
		int a; scanf("%d", &a);
		while(scn){
			if(stk[scn-1][0] >= a) break;
			scn--;
			if(!scn) break;
			int sz = i-stk[scn-1][1]-1;
			if(dap[sz]<0) dap[sz]=i-sz+1;
		}
		stk[scn][0]=a, stk[scn][1]=i;
		scn++;
	}
	int fl=0;
	for(int i=N; i>=1; i--){
		if(dap[i]>=0) fl=1;
		if(fl && dap[i]<0) dap[i]=dap[i+1]+1;
	}
	for(int i=1; i<=N; i++){
		printf("%d", dap[i]);
		if(i<N) printf(" ");
	}
	puts("");
	return 0;
}

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

box.cpp: In function 'int main()':
box.cpp:6:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d", &N);
  ~~~~~^~~~~~~~~~
box.cpp:10:15: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   int a; scanf("%d", &a);
          ~~~~~^~~~~~~~~~
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…