結果
問題 | No.91 赤、緑、青の石 |
ユーザー |
|
提出日時 | 2016-03-13 10:55:19 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 42 ms / 5,000 ms |
コード長 | 713 bytes |
コンパイル時間 | 595 ms |
コンパイル使用メモリ | 82,304 KB |
実行使用メモリ | 52,480 KB |
最終ジャッジ日時 | 2024-06-24 06:56:48 |
合計ジャッジ時間 | 3,087 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 28 |
ソースコード
class Solve:def __init__(self):self.S = [int(i) for i in input().split()]self.a = min(self.S) # >= 0; Trueself.b = max(self.S)+1 # <= 10**7+1; Falsedef solve(self):S = sorted(self.S)n = S.pop(0)S0, S1 = [s-n for s in S]# S0とS1を同じ数にしようとするd = (S1 - S0)//2# S0とS1を同じ数又は1個差にできる場合if S0 >= S1//3:n += (S0 + S1)//4 - int((S0 - d)%4 == (S1 - 3*d)%4 == 2) # 2 2 になり得る場合のみ注意# 先にS0枯渇 && 残りのS1が5個で1個生成else:n += S0 + (S1 - 3*S0)//5return nprint(Solve().solve())