結果
問題 | No.37 遊園地のアトラクション |
ユーザー |
|
提出日時 | 2022-11-25 18:44:36 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 948 bytes |
コンパイル時間 | 108 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 10,880 KB |
最終ジャッジ日時 | 2024-10-02 01:33:01 |
合計ジャッジ時間 | 2,197 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 WA * 1 |
other | AC * 24 WA * 3 |
ソースコード
class Attraction: def __init__(self, satis: int, waiting: int) -> None: self.satisfied = satis self.waiting = waiting def visited(self): self.satisfied //= 2 @property def satis_per_h(self) -> float: return self.satisfied / self.waiting def main(): T = int(input()) N = int(input()) c = list(map(int, input().split())) v = list(map(int, input().split())) attractions = [Attraction(satis, waiting) for satis, waiting in zip(v, c)] attractions = list(filter(lambda att: att.waiting <= T, attractions)) sum_satisfied = 0 while attractions: attractions.sort(key=lambda att: att.satis_per_h) sum_satisfied += attractions[-1].satisfied attractions[-1].visited() T -= attractions[-1].waiting attractions = list(filter(lambda att: att.waiting <= T, attractions)) print(sum_satisfied) if __name__ == "__main__": main()