题目链接[http://codeforces.com/problemset/problem/444/A]
题意:给出一个无向图,找出一个联通子图,定义密度#=v(顶点值的和)/e(边值的和)。
条件:一个联通的子图中所有定点的和,边和为顶点所有可能链接的边。
结论题:
最大的密度一定是某条边所链接的某两个顶点。
#include<bits/stdc++.h>
using namespace std;
const int maxn=500+5;
int X[maxn];
int n,m;
int main()
{
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)
scanf("%d",&X[i]);
int a,b,c;
double ma=0.0;
for(int i=1;i<=m;i++)
{
scanf("%d%d%d",&a,&b,&c);
double t=(double)(X[a]+X[b])/c;
ma=max(ma,t);
}
printf("%.15f
",ma);
return 0;
}