足球比赛

 

 好久没发博客了,这道题目主要的思路就是贪心。

先考虑最大情况,最小类似。像田忌赛马一样,既然要赢得多,要么就让对手在一局内全都用完进球,要么对方进球平分在每一局中但每局都输。

程序:

#include<bits/stdc++.h>
using namespace std;
using LL=long long;
int t,n,a,b,c,d,e;
LL maxn() 
{
    LL ans=0;
    if(d>=e)
    {
        int win=min(d-e,n);
        int d=n-win;
        ans=max(ans,(LL)win*a+(LL)d*c);
    }
    int lose=1;
    int win=min(d,n-1);
    int d=n-lose-win;
    ans=max(ans,(LL)win*a+(LL)lose*b+(LL)d*c);
    return ans; 
}
LL minn() 
{
    LL ans=1e18;
    if(d<=e)
    {
        int lose=min(e-d,n);
        int d=n-lose;
        ans=min(ans,(LL)lose*b+(LL)d*c);
    }
    int win=1;
    int lose=min(e,n-1);
    int d=n-lose-win;
    ans=min(ans,(LL)win*a+(LL)lose*b+(LL)d*c);
    return ans; 
}
int main() 
{
    ios::sync_with_stdio(false);
    for(cin>>t; t; --t) 
    {
        cin>>n>>a>>b>>c>>d>>e;
        cout<<maxn()<<" "<<minn()<<endl;
    }
    return 0;
}

 

posted @ 2023-02-02 21:20  王浩泽  阅读(21)  评论(0编辑  收藏  举报