比赛 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;
}