結果
問題 | No.161 制限ジャンケン |
ユーザー |
![]() |
提出日時 | 2025-03-20 21:06:57 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 36 ms / 5,000 ms |
コード長 | 772 bytes |
コンパイル時間 | 580 ms |
コンパイル使用メモリ | 82,424 KB |
実行使用メモリ | 53,896 KB |
最終ジャッジ日時 | 2025-03-20 21:07:07 |
合計ジャッジ時間 | 1,700 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 16 |
ソースコード
G, C, P = map(int, input().split()) S = input().strip() s_g = S.count('G') s_c = S.count('C') s_p = S.count('P') # Step 1: Calculate wins p_win = min(s_g, P) points = 3 * p_win remaining_p = P - p_win remaining_g_s = s_g - p_win g_win = min(s_c, G) points += 3 * g_win remaining_g = G - g_win remaining_c_s = s_c - g_win c_win = min(s_p, C) points += 3 * c_win remaining_c = C - c_win remaining_p_s = s_p - c_win # Step 2: Calculate draws draw_g = min(remaining_g_s, remaining_g) points += draw_g remaining_g -= draw_g remaining_g_s -= draw_g draw_c = min(remaining_c_s, remaining_c) points += draw_c remaining_c -= draw_c remaining_c_s -= draw_c draw_p = min(remaining_p_s, remaining_p) points += draw_p remaining_p -= draw_p remaining_p_s -= draw_p print(points)