足球比赛
好久没发博客了,这道题目主要的思路就是贪心。
先考虑最大情况,最小类似。像田忌赛马一样,既然要赢得多,要么就让对手在一局内全都用完进球,要么对方进球平分在每一局中但每局都输。
程序:
#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; }