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

仝競奇發表於2020-10-01

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;
}

相關文章