結果
問題 |
No.568 じゃんじゃん 落とす 委員会
|
ユーザー |
![]() |
提出日時 | 2024-12-18 03:16:40 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,272 bytes |
コンパイル時間 | 235 ms |
コンパイル使用メモリ | 82,388 KB |
実行使用メモリ | 184,332 KB |
最終ジャッジ日時 | 2024-12-18 03:17:00 |
合計ジャッジ時間 | 19,520 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 10 WA * 8 TLE * 8 |
ソースコード
import sys input = sys.stdin.readline N,M=map(int,input().split()) P=[list(map(int,input().split())) for i in range(N)] ANS=[0]*N TWO=0 THREE=0 LIST=[[] for i in range(10**5+2)] for i in range(N): ANS[i]=P[i][0] LIST[P[i][1]].append(i) for i in range(N): if ANS[i]>=2: TWO+=1 if ANS[i]>=3: THREE+=1 LANS=10**6 if TWO>=M: LANS=THREE for i in range(10**5+1,-1,-1): if LIST[i]==[]: continue for x in LIST[i]: ANS[x]+=1 if ANS[x]==3: THREE+=1 elif ANS[x]==2: TWO+=1 if TWO>=M: LANS=min(LANS,THREE) continue OK=0 NG=10**5+1 while NG>OK: mid=(OK+NG)//2 TWOX=TWO THREEX=THREE for i in range(N): k=P[i][2] if k>=mid: if ANS[i]+1==2: TWOX+=1 elif ANS[i]+1==3: THREEX+=1 if TWOX>=M: OK=mid else: NG=mid TWOX=TWO THREEX=THREE for i in range(N): k=P[i][2] if k>=OK: if ANS[i]+1==2: TWOX+=1 elif ANS[i]+1==3: THREEX+=1 LANS=min(LANS,THREEX) print(LANS)