結果
問題 | No.2197 Same Dish |
ユーザー |
![]() |
提出日時 | 2025-03-20 21:21:23 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 445 ms / 2,000 ms |
コード長 | 886 bytes |
コンパイル時間 | 198 ms |
コンパイル使用メモリ | 82,404 KB |
実行使用メモリ | 109,052 KB |
最終ジャッジ日時 | 2025-03-20 21:22:37 |
合計ジャッジ時間 | 5,325 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 20 |
ソースコード
import heapqMOD = 998244353def main():import sysinput = sys.stdin.readdata = input().split()idx = 0N = int(data[idx])K = int(data[idx+1])idx += 2guests = []for _ in range(N):L = int(data[idx])R = int(data[idx+1])guests.append((L, R))idx += 2# Sort guests by L_iguests.sort()heap = []res = 1for L, R in guests:Li_10 = L * 10# Remove all guests where Rj_after <= Li_10while heap and heap[0] <= Li_10:heapq.heappop(heap)m = len(heap)if K - m <= 0:res = 0breakres = (res * (K - m)) % MODRj_after = R * 10 - 1heapq.heappush(heap, Rj_after)total = pow(K, N, MOD)ans = (total - res) % MODprint(ans)if __name__ == '__main__':main()