CF1978B 题解
首先当 时, 取 即可。
当 时,要想是利润尽可能大,必须满足前 天的利润都比 大,即要满足 。可以得出 最大为 ,然后计算即可。
还需注意的是, 需要满足不超过 的限制,所以最终 ,答案为 。
代码
#include<bits/stdc++.h>
using namespace std;
int t;
long long n,a,b;
int main(){
scanf("%d",&t);
while(t--){
scanf("%lld%lld%lld",&n,&a,&b);
if(a>=b){
printf("%lld\n",n*a);
continue;
}
long long k=min(n,b-a);
printf("%lld\n",(b+b-k+1)*k/2+a*(n-k));
}
return 0;
}

浙公网安备 33010602011771号