CF1409B题解

思路

小学四年级的时候我们就知道,和一定,差小积大。所以在这题中,我们可以让两数之差尽量大,从而让积尽量小。

所以我们可以尝试用两种方法来计算:

\(1.\) 先把 a 减到最小,再把 b 减去 \(n-x\)

\(2.\) 先把 b 减到最小,再把 a 减去 \(n-y\)

最后再把两个答案取 \(\min\) 就可以了。

代码

#include<bits/stdc++.h>
using namespace std;
int main(){
    int t;
    cin>>t;
    while(t--){
        long long a,b,x,y,n,ans;//注意要开 long long
        cin>>a>>b>>x>>y>>n;
        long long u1=min(n,a-x);
        long long v1=min(n-u1,b-y);//第一种方法
        long long u2=min(n,b-y);
        long long v2=min(n-u2,a-x);//第二种方法
        ans=min((a-u1)*(b-v1),(b-u2)*(a-v2));//计算答案
        cout<<ans<<endl;
    }
}
posted @ 2022-02-09 19:14  cycwss  阅读(45)  评论(0)    收藏  举报