結果
| 問題 |
No.349 干支の置き物
|
| コンテスト | |
| ユーザー |
はむ吉🐹
|
| 提出日時 | 2016-03-12 00:05:00 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 786 bytes |
| コンパイル時間 | 207 ms |
| コンパイル使用メモリ | 12,672 KB |
| 実行使用メモリ | 10,880 KB |
| 最終ジャッジ日時 | 2024-09-25 01:34:33 |
| 合計ジャッジ時間 | 2,115 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 17 WA * 12 |
ソースコード
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import collections
def repeatedly_subtract(x, ls):
assert x <= sum(ls)
while x > 0:
if x < ls[-1]:
ls[-1] -= x
break
else:
x -= ls[-1]
_ = ls.pop()
def solve(n, ornaments):
counter = collections.Counter(ornaments)
numbers = sorted(counter.values())
while numbers:
max_n = numbers.pop()
if max_n > sum(numbers) + 1:
return False
if not numbers:
return True
repeatedly_subtract(max_n - 1, numbers)
def main():
n = int(input())
ornaments = [input() for _ in range(n)]
if solve(n, ornaments):
print("YES")
else:
print("NO")
if __name__ == '__main__':
main()
はむ吉🐹