結果
問題 | No.161 制限ジャンケン |
ユーザー |
![]() |
提出日時 | 2015-05-22 21:33:51 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 562 bytes |
コンパイル時間 | 448 ms |
コンパイル使用メモリ | 55,420 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-30 04:35:57 |
合計ジャッジ時間 | 998 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 16 |
ソースコード
#include <iostream> #include <string> using namespace std; int main(){ int g,c,p; cin>>g>>c>>p; string s; cin>>s; int og=0,oc=0,op=0; for(int i=0;i<(int)s.size();i++){ if(s[i]=='G') og++; else if(s[i]=='C') oc++; else op++; } int point=0; if(og<=p){ point+=3*og; p-=og; og=0; } else{ point+=3*p; og-=p; p=0; } if(oc<=g){ point+=3*oc; g-=oc; oc=0; } else{ point+=3*g; oc-=g; g=0; } if(op<=c){ point+=3*op; c-=op; op=0; } else{ point+=3*c; op-=c; c=0; } point+=min(og,g)+min(oc,c)+min(op,p); cout<<point<<endl; return 0; }