結果
問題 |
No.714 回転寿司屋のシミュレート
|
ユーザー |
|
提出日時 | 2018-07-14 01:56:41 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 51 ms / 2,000 ms |
コード長 | 1,043 bytes |
コンパイル時間 | 204 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 11,136 KB |
最終ジャッジ日時 | 2024-10-09 05:54:08 |
合計ジャッジ時間 | 2,400 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 35 |
ソースコード
from collections import defaultdict n = int(input()) ans = [] li = [[0] * 21 for _ in range(100)] sushi = {} scnt = 0 kyaku = defaultdict(set) for i in range(n): u = input().split() if u[0] == "0": m = defaultdict(int) a, b = map(int, u[1:3]) for s in u[3:]: if s not in sushi: sushi[s] = scnt scnt += 1 m[s] += 1 for k, v in m.items(): li[sushi[k]][a] = v li[sushi[k]][0] += v kyaku[a].add(k) elif u[0] == "1": s = u[1] if s in sushi and li[sushi[s]][0]: for j in range(1, 21): if li[sushi[s]][j]: ans.append(j) li[sushi[s]][j] -= 1 li[sushi[s]][0] -= 1 break else: ans.append(-1) else: a = int(u[1]) for b in kyaku[a]: li[sushi[b]][0] -= li[sushi[b]][a] li[sushi[b]][a] = 0 del kyaku[a] print(*ans, sep="\n")