結果
問題 |
No.489 株に挑戦
|
ユーザー |
![]() |
提出日時 | 2017-03-01 17:21:04 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 743 bytes |
コンパイル時間 | 1,261 ms |
コンパイル使用メモリ | 159,764 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-06-12 22:11:30 |
合計ジャッジ時間 | 2,909 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 6 WA * 29 |
ソースコード
#include<bits/stdc++.h> using namespace std; #define INF 1000000000 #define REP(i,n) for(int (i)=0;(i)<(int)(n);(i)++) typedef long long LL; int N,D,K; int deq[100001]; LL x[100001]; int main(){ cin>>N>>D>>K; REP(i,N){ cin>>x[i]; } deq[0]=0; int bg=0; int ed=1; LL ans=0; int l,r; REP(i,N){ if(i==0)continue; while(ed>bg){ if(x[deq[ed-1]]<=x[i])break; ed--; } deq[ed]=i; ed++; if(ans<x[i]-x[deq[bg]]){ ans=x[i]-x[deq[bg]]; l=bg;r=ed-1; } if(i>=D){ if(i-D==deq[bg])bg++; } } cout<<ans*K<<endl; if(ans!=0){ cout<<l<<" "<<r<<endl; } return 0; }