CF1656F Parametric MST
给定一张
定义 INF
。
分析
首先将
,确定
因为
其它情况我们观察一下式子
发现 t 在
#include<bits/stdc++.h> #define N 200005 #define int long long using namespace std; int read(){ int x=0,f=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')f=-f;ch=getchar();} while(ch>='0'&&ch<='9'){x=(x<<1)+(x<<3)+(ch^48);ch=getchar();} return x*f; } int T,n; int a[N],s[N]; signed main(){ T=read(); while(T--){ n=read(); for(int i=1;i<=n;++i) a[i]=read(); sort(a+1,a+1+n); for(int i=1;i<=n;++i) s[i]=s[i-1]+a[i]; if(s[n]-s[1]+a[1]*(n-1)>0||s[n-1]+a[n]*(n-1)<0){printf("INF\n");continue;} int ans=-1e18; for(int i=1;i<=n;++i){ int t=-a[i]; int maxn=a[n]+t,minn=a[1]+t; int ls=s[i]+i*t,rs=s[n]-s[i]+(n-i)*t; ans=max(ans,ls*maxn+rs*minn-minn*maxn-(n-1)*t*t); } printf("%lld\n",ans); } return 0; }
本文作者:Aurora-JC
本文链接:https://www.cnblogs.com/jiangchen4122/p/16871411.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步