結果

問題 No.945 YKC饅頭
ユーザー roaris
提出日時 2019-12-17 11:21:28
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 1,820 ms / 2,000 ms
コード長 753 bytes
コンパイル時間 165 ms
コンパイル使用メモリ 81,536 KB
実行使用メモリ 124,100 KB
最終ジャッジ日時 2024-07-02 21:20:26
合計ジャッジ時間 32,725 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 74
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys
input = sys.stdin.readline
from heapq import *

N, M = map(int, input().split())
info = [[] for _ in range(N)]
d = {'Y':0, 'K':1, 'C':2}

for i in range(M):
    Li, Ri, Ti = input().split()
    info[int(Li)-1].append((i, int(Ri)-1, d[Ti]))

pq = []
ans = [-1]*N

for i in range(N):
    for t in info[i]:
        heappush(pq, t)
    
    while pq:
        t = heappop(pq)
        
        if t[1]<i:
            continue
        else:
            ans[i] = t[2]
            
            if i+1<=t[1]:
                heappush(pq, t)
            
            break

ans0, ans1, ans2 = 0, 0, 0

for ans_i in ans:
    if ans_i==0:
        ans0 += 1
    elif ans_i==1:
        ans1 += 1
    elif ans_i==2:
        ans2 += 1

print(ans0, ans1, ans2)
0