結果

問題 No.161 制限ジャンケン
ユーザー IL_msta
提出日時 2015-06-13 20:42:25
言語 C++11
(gcc 13.3.0)
結果
AC  
実行時間 2 ms / 5,000 ms
コード長 1,188 bytes
コンパイル時間 810 ms
コンパイル使用メモリ 82,676 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-11-30 04:40:51
合計ジャッジ時間 1,401 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 16
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

#define _USE_MATH_DEFINES
#include <iostream>
#include <iomanip>
#include <algorithm>
#include <cmath>
#include <string>
#include <list>
#include <queue>
#include <vector>
#include <complex>
/////////
#define REP(i, x, n) for(int i = x; i < n; i++)
#define rep(i,n) REP(i,0,n)
#define P(p) std::cout<<(p)<<std::endl;
/////////
typedef long long LL;
typedef long double LD;
/////////
using namespace::std;
/////////
int main(void){
std::cin.tie(0);
std::ios::sync_with_stdio(false);
std::cout << std::fixed;//
//cout << setprecision(6);//
int G,C,P;
string S;
cin>>G>>C>>P>>S;
int aG=0;
int aC=0;
int aP=0;
for(unsigned int i=0;i<S.size();++i){
if(S[i] == 'G'){
++aG;
}
else if(S[i] == 'C'){
++aC;
}
else if(S[i] == 'P'){
++aP;
}
}
int ans = 0;
int dif;
dif = min(G,aC);
G -= dif;
aC -= dif;
ans += 3*dif;
dif = min(C,aP);
C -= dif;
aP -= dif;
ans += 3*dif;
dif = min(P,aG);
P -= dif;
aG -= dif;
ans += 3*dif;
///////////
dif = min(G,aG);
G -= dif;
aG -= dif;
ans += dif;
dif = min(C,aC);
C -= dif;
aC -= dif;
ans += dif;
dif = min(P,aP);
P -= dif;
aP -= dif;
ans += dif;
P(ans);
return 0;
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0