結果
問題 |
No.489 株に挑戦
|
ユーザー |
|
提出日時 | 2017-02-25 01:30:05 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,232 bytes |
コンパイル時間 | 569 ms |
コンパイル使用メモリ | 12,288 KB |
実行使用メモリ | 16,640 KB |
最終ジャッジ日時 | 2025-01-03 08:20:35 |
合計ジャッジ時間 | 9,990 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 30 WA * 5 |
ソースコード
from copy import deepcopy as dcopy import bisect def main(): N,D,K = map(int, input().split()) values = [int(input()) for i in range(N)] minimum = values[0] w_min_index = 0 MAX = 0 for i in range(1, D+1): if values[i] - minimum > MAX: min_index = w_min_index max_index = i MAX = values[i] - minimum # for next if values[i] < minimum: w_min_index = i minimum = values[i] h_window = sorted(values[:D]) for j in range(D+1, N): del h_window[bisect.bisect_left(h_window, values[j-D-1])] if len(h_window) == 0: w_min_index = j-1 elif values[j-1] < h_window[0]: w_min_index = j-1 bisect.insort(h_window, values[j-1]) minimum = h_window[0] tmp = values[j] - minimum if tmp > MAX: MAX = tmp max_index = j min_index = w_min_index # print(MAX, min_index, max_index) if MAX <= 0: print(0) else: print(K*MAX) print(min_index, max_index) if __name__ == "__main__": # {{{ try: import test test.test() except: main() # }}}