結果
問題 |
No.91 赤、緑、青の石
|
ユーザー |
![]() |
提出日時 | 2018-03-08 21:50:02 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,151 bytes |
コンパイル時間 | 116 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 10,880 KB |
最終ジャッジ日時 | 2024-10-05 08:15:53 |
合計ジャッジ時間 | 1,968 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 5 WA * 23 |
ソースコード
# -*- coding: utf-8 -*- """ No.91 赤、緑、青の石 https://yukicoder.me/problems/no/91 """ import sys from sys import stdin input = stdin.readline def main(args): ans = 0 stones = [int(x) for x in input().split()] stones.sort(reverse=True) m = stones[2] stones[0] -= m stones[1] -= m stones[2] -= m ans += m for i in range(100): stones.sort(reverse=True) if stones[1] == 0 and stones[2] == 0: m = stones[0] * 2 // 5 ans += m break elif stones[0] == stones[1]: stones[2] += stones[0] //3 stones[2] += stones[1] //3 m = min(stones) ans += m break gap12 = stones[1] - stones[2] gap01 = stones[0] - stones[1] if gap12 * 2 > gap01: stones[2] = gap01 // 2 stones[0] -= stones[2] * 2 else: stones[2] = gap12 stones[0] -= stones[2] * 2 m = stones[2] stones[0] -= m stones[1] -= m stones[2] -= m ans += m print(ans) if __name__ == '__main__': main(sys.argv[1:])