Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
150335 | 吴悠 | 香甜的黄油 | C++ | 通过 | 100 | 513 MS | 2768 KB | 665 | 2024-06-02 15:00:16 |
#include<iostream> using namespace std; int a[801][801],cow[501],dis[801]; int main(){ int n,p,c,x,y,d,ans=0x7f7f7f7f; cin>>n>>p>>c; for(int i=1;i<=p;i++){ for(int j=1;j<=p;j++){ a[i][j]=0x3f3f3f3f; } } for(int i=1;i<=p;i++){ a[i][i]=0; } for(int i=1;i<=n;i++){ cin>>cow[i]; } for(int i=1;i<=c;i++){ cin>>x>>y>>d; a[x][y]=d; a[y][x]=d; } for(int k=1;k<=p;k++){ for(int i=1;i<=p;i++){ for(int j=1;j<=p;j++){ a[i][j]=min(a[i][j],a[i][k]+a[k][j]); } } } for(int i=1;i<=p;i++){ for(int j=1;j<=n;j++){ dis[i]+=a[i][cow[j]]; } ans=min(ans,dis[i]); } cout<<ans<<endl; return 0; }