結果
| 問題 |
No.161 制限ジャンケン
|
| コンテスト | |
| ユーザー |
smiken_61
|
| 提出日時 | 2015-10-14 10:09:57 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 5,000 ms |
| コード長 | 721 bytes |
| コンパイル時間 | 423 ms |
| コンパイル使用メモリ | 59,120 KB |
| 実行使用メモリ | 5,248 KB |
| 最終ジャッジ日時 | 2024-11-30 04:46:16 |
| 合計ジャッジ時間 | 1,091 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 16 |
ソースコード
#include <iostream>
#include <algorithm>
#include <stdlib.h>
#include <string>
using namespace std;
int pow(int m,int n){
if (n==0) n=4;
int k=m;
for(int i=0;i<n-1;i++){
k=(k*m)%10;
}
return k;
}
int main() {
int g,c,p;
string s;
cin>>g>>c>>p;
cin>>s;
int n=s.length();
int a[4]={0};
for(int i=0;i<n;i++){
if(s[i]=='G') a[0]++;
if(s[i]=='C') a[1]++;
if(s[i]=='P') a[2]++;
}
int ans=0;
int k=min(g,a[1]);
g=g-k;
a[1]=a[1]-k;
ans=ans+3*k;
k=min(c,a[2]);
c=c-k;
a[2]=a[2]-k;
ans=ans+3*k;
k=min(p,a[0]);
p=p-k;
a[0]=a[0]-k;
ans=ans+3*k;
k=min(g,a[0]);
g=g-k;
a[0]=a[0]-k;
ans=ans+k;
k=min(c,a[1]);
c=c-k;
a[1]=a[1]-k;
ans=ans+k;
k=min(p,a[2]);
p=p-k;
a[2]=a[2]-k;
ans=ans+k;
cout<<ans<<endl;
return 0;
}
smiken_61