贪心:Codeforces Round #674 (Div. 3) E Rock, Paper, Scissors s

https://codeforces.com/problemset/problem/1426/E
在这里插入图片描述
求A赢的最大次数时很简单,由于石头剪刀布赢是一一对应的,直接对应赢法最大情况相加就行。
关键是求赢的最小次数,思路是分别求石头剪刀布能赢的最小次数,然后直接相加即为答案

#include <iostream>

using namespace std;

int main()
{
    long long N,ans1=0,ans2=0;
    cin>>N;
    int b[7];
    for(int i=1;i<=6;i++){
        cin>>b[i];
    }
    if(b[1]>b[4]+b[6])ans1+=b[1]-(b[4]+b[6]);
    if(b[2]>b[5]+b[4])ans1+=b[2]-(b[5]+b[4]);
    if(b[3]>b[6]+b[5])ans1+=b[3]-(b[6]+b[5]);
    ans2+=min(b[1],b[5])+min(b[2],b[6])+min(b[3],b[4]);
    cout<<ans1<<" "<<ans2<<endl;
    return 0;
}

©️2020 CSDN 皮肤主题: 创作都市 设计师:CSDN官方博客 返回首页