Codeforces】-445C-DZY Loves Physics

来源:互联网 发布:json 汉字 编辑:程序博客网 时间:2024/06/11 21:02
题意:求一个图的最大密度,密度定义:为顶点的价值和/边的价值和

题解:一个图最大的密度只由两个顶点构成。

证明:V1和V2边价值为a,构成图的最大密度。

若加上与V2相连的一个顶点V3最大,边的价值为b,则要求:V3/b>(V1+V2)/a;那么(V2+V3)/b,就是较大的。所以最大密度就是由两个顶点比他们的边得到的。


#include<cstdio>#include<cstring>#include<algorithm>#include<vector>using namespace std;int main(){int n,m;while(~scanf("%d%d",&n,&m)){double s[520];for(int i=1;i<=n;i++)scanf("%lf",&s[i]);double maxx=0;for(int i=1;i<=m;i++){int a,b,c;scanf("%d%d%d",&a,&b,&c);maxx=max(maxx,(s[a]+s[b])/c);}printf("%.15lf\n",maxx);}return 0;}


原创粉丝点击