結果
問題 | No.489 株に挑戦 |
ユーザー | kjnho |
提出日時 | 2017-02-25 01:12:45 |
言語 | Python3 (3.12.2 + numpy 1.26.4 + scipy 1.12.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,470 bytes |
コンパイル時間 | 367 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 66,224 KB |
最終ジャッジ日時 | 2024-06-11 03:30:07 |
合計ジャッジ時間 | 4,946 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | TLE | - |
testcase_01 | -- | - |
testcase_02 | -- | - |
testcase_03 | -- | - |
testcase_04 | -- | - |
testcase_05 | -- | - |
testcase_06 | -- | - |
testcase_07 | -- | - |
testcase_08 | -- | - |
testcase_09 | -- | - |
testcase_10 | -- | - |
testcase_11 | -- | - |
testcase_12 | -- | - |
testcase_13 | -- | - |
testcase_14 | -- | - |
testcase_15 | -- | - |
testcase_16 | -- | - |
testcase_17 | -- | - |
testcase_18 | -- | - |
testcase_19 | -- | - |
testcase_20 | -- | - |
testcase_21 | -- | - |
testcase_22 | -- | - |
testcase_23 | -- | - |
testcase_24 | -- | - |
testcase_25 | -- | - |
testcase_26 | -- | - |
testcase_27 | -- | - |
testcase_28 | -- | - |
testcase_29 | -- | - |
testcase_30 | -- | - |
testcase_31 | -- | - |
testcase_32 | -- | - |
testcase_33 | -- | - |
testcase_34 | -- | - |
testcase_35 | -- | - |
testcase_36 | -- | - |
testcase_37 | -- | - |
ソースコード
from scipy import integrate import re from operator import itemgetter from collections import defaultdict as dd from collections import Counter from collections import deque from collections import namedtuple import numpy as np import fractions import math from copy import deepcopy as dcopy import heapq from math import cos, sin, radians import itertools from heapq import * import bisect def main(): N,D,K = map(int, input().split()) values = [int(input()) for i in range(N)] h_window = dcopy(values[:D]) h_window.sort() minimum = min(values[:D]) w_min_index = values[:D].index(minimum) min_index = values[:D].index(minimum) maximum = max(values[:D+1]) max_index = values[:D+1].index(maximum) MAX = maximum - minimum 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() # }}}