結果
問題 | 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 winsp_win = min(s_g, P)points = 3 * p_winremaining_p = P - p_winremaining_g_s = s_g - p_wing_win = min(s_c, G)points += 3 * g_winremaining_g = G - g_winremaining_c_s = s_c - g_winc_win = min(s_p, C)points += 3 * c_winremaining_c = C - c_winremaining_p_s = s_p - c_win# Step 2: Calculate drawsdraw_g = min(remaining_g_s, remaining_g)points += draw_gremaining_g -= draw_gremaining_g_s -= draw_gdraw_c = min(remaining_c_s, remaining_c)points += draw_cremaining_c -= draw_cremaining_c_s -= draw_cdraw_p = min(remaining_p_s, remaining_p)points += draw_premaining_p -= draw_premaining_p_s -= draw_pprint(points)