結果
問題 | No.161 制限ジャンケン |
ユーザー |
![]() |
提出日時 | 2023-11-02 01:00:24 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 770 bytes |
コンパイル時間 | 911 ms |
コンパイル使用メモリ | 105,500 KB |
最終ジャッジ日時 | 2025-02-17 17:16:57 |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 16 |
ソースコード
#include<iostream> #include<iomanip> #include<string> #include<algorithm> #include<vector> #include<set> #include<list> #include<queue> #include<math.h> #include<bitset> using ll = long long; using namespace std; int main(){ int g, c, p, pts = 0, og = 0, oc = 0, op = 0; string s; vector<int> me(3), opp(3); cin >> me[0] >> me[1] >> me[2] >> s; for (int i = 0; i < s.size(); i++){ if (s[i] == 'G') opp[2]++; else if (s[i] == 'C') opp[0]++; else opp[1]++; } for (int i = 0; i < 3; i++){ int tmp = min(me[i], opp[i]); pts += tmp*3; me[i] -= tmp; opp[i] -= tmp; } for (int i = 0; i < 3; i++){ if (me[i]) pts += min(me[i], opp[(3+i-1)%3]); } cout << pts << endl; }