結果

問題 No.489 株に挑戦
コンテスト
ユーザー %20
提出日時 2017-02-27 14:27:27
言語 C90
(gcc 15.2.0)
コンパイル:
gcc-15 -O2 -std=c90 -DONLINE_JUDGE -o a.out _filename_ -lm
実行:
./a.out
結果
AC  
実行時間 22 ms / 1,000 ms
コード長 520 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 196 ms
コンパイル使用メモリ 39,556 KB
最終ジャッジ日時 2026-02-24 00:25:45
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 35
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.c:3:1: warning: data definition has no type or storage class
    3 | b=1<<17;
      | ^
main.c:4:1: warning: data definition has no type or storage class
    4 | N,D,K,x[1<<18],j,k;
      | ^
main.c:5:1: warning: data definition has no type or storage class
    5 | l,r,L,R;
      | ^
main.c:6:1: warning: data definition has no type or storage class
    6 | i,t;
      | ^
main.c: In function 'main':
main.c:9:13: warning: incompatible implicit declaration of built-in function 'scanf' [-Wbuiltin-declaration-mismatch]
    9 |         for(scanf("%d%d%d",&N,&D,&K);~scanf("%d",x+b+i++););
      |             ^~~~~
main.c:1:1: note: include '<stdio.h>' or provide a declaration of 'scanf'
  +++ |+#include <stdio.h>
    1 | max(a,b){return a>b?a:b;}
main.c:25:17: warning: incompatible implicit declaration of built-in function 'printf' [-Wbuiltin-declaration-mismatch]
   25 |                 printf("%ld\n%d %d\n",m*K,j,k);
      |                 ^~~~~~
main.c:25:17: note: include '<stdio.h>' or provide a declaration of 'printf'

ソースコード

diff #
raw source code

max(a,b){return a>b?a:b;}
min(a,b){return a<b?a:b;}
b=1<<17;
N,D,K,x[1<<18],j,k;
l,r,L,R;
i,t;
long m;
main(){
	for(scanf("%d%d%d",&N,&D,&K);~scanf("%d",x+b+i++););
	for(i=b;--i;)x[i]=max(x[i*2],x[i*2+1]);
	for(i=0;i<N;++i){
		L=x[l=b+i];
		R=x[r=b+min(i+D,N-1)];
		for(;l>>1!=r>>1;l>>=1,r>>=1){
			l&1||(L=max(L,x[l^1]));
			r&1&&(R=max(R,x[r^1]));
		}
		if((t=max(L,R)-x[b+i]-m)>0){
			j=i;
			m+=t;
		}
	}
	if(m){
		for(k=j;x[b+k]-x[b+j]!=m;++k);
		printf("%ld\n%d %d\n",m*K,j,k);
	}else{
		puts("0");
	}
	return 0;
}
0