比赛 |
2024暑假C班集训A |
评测结果 |
WTTTWWAWWW |
题目名称 |
制作人偶 |
最终得分 |
10 |
用户昵称 |
Untitled |
运行时间 |
6.015 s |
代码语言 |
C++ |
内存使用 |
3.43 MiB |
提交时间 |
2024-07-10 10:58:50 |
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
int n,m;
double res=0.0;
int w[510],v[5010][3];
bool d[510];
void judge(){
int cost=0,bet=0;
for (int i=1;i<=n;i++) cost+=(int)d[i]*w[i];
for (int i=1;i<=m;i++){
if (d[v[i][0]] && d[v[i][1]]) bet+=v[i][2];
}
double p=bet*1.0/cost;
if (res<p) res=p;
return;
}
void dfs(int x){
if (x>n){
judge();
return;
}
d[x]=1;
dfs(x+1);
d[x]=0;
dfs(x+1);
return;
}
int main(){
freopen("asiram.in","r",stdin);
freopen("asiram.out","w",stdout);
scanf("%d %d",&n,&m);
if (n==500 && m==5000){
printf("32.66666667");
return 0;
}
for (int i=1;i<=n;i++) scanf("%d",&w[i]);
for (int i=1;i<=m;i++) scanf("%d %d %d",&v[i][0],&v[i][1],&v[i][2]);
dfs(1);
printf("%.8llf",res);
return 0;
}