結果
問題 |
No.161 制限ジャンケン
|
ユーザー |
![]() |
提出日時 | 2016-04-04 00:12:43 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 548 bytes |
コンパイル時間 | 1,341 ms |
コンパイル使用メモリ | 160,856 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-30 04:52:15 |
合計ジャッジ時間 | 2,053 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 16 |
ソースコード
#include <bits/stdc++.h> using namespace std; typedef long long ll; int main() { int a[3],sum=0,p[3]={}; string s; cin>>a[0]>>a[1]>>a[2]; cin>>s; for(int i=0;i<s.length();i++) { if(s[i]=='G')p[0]++; else if(s[i]=='C')p[1]++; else p[2]++; } int x[3]={min(a[0],p[1]),min(a[1],p[2]),min(a[2],p[0])}; for(int i=0;i<3;i++) { sum+=3*x[i]; a[i]-=x[i]; p[(i+1)%3]-=x[i]; } int y[3]={min(a[0],p[0]),min(a[1],p[1]),min(a[2],p[2])}; for(int i=0;i<3;i++) { sum+=y[i]; a[i]-=y[i]; p[i]-=y[i]; } cout<<sum<<endl; return 0; }