比赛 |
CSP2022提高组 |
评测结果 |
AAAWWWWWAAAWWWAAAWTT |
题目名称 |
假期计划 |
最终得分 |
45 |
用户昵称 |
akioi |
运行时间 |
4.980 s |
代码语言 |
C++ |
内存使用 |
2.10 MiB |
提交时间 |
2022-10-30 10:04:45 |
显示代码纯文本
//k==0 (10~45pts)
#include<bits/stdc++.h>
using namespace std;
long long n,m,k,u,v,maxc=-1e18-1;
long long s[2505];
vector<long long>a[2505];
bool vis[2505];
void dfs(long long x,long long cnt,long long t){
if(t>5)return;
if(x==1&&t==5){
maxc=max(maxc,cnt);
return;
}
for(long long i=0;i<a[x].size();i++){
if(!vis[a[x][i]]){
vis[a[x][i]]=1;
dfs(a[x][i],cnt+s[a[x][i]],t+1);
vis[a[x][i]]=0;
}
}
return;
}
int main(){
freopen("csp2022_holiday.in","r",stdin);
freopen("csp2022_holiday.out","w",stdout);
cin>>n>>m>>k;
for(int i=2;i<=n;i++)cin>>s[i];
for(int i=1;i<=m;i++){
cin>>u>>v;
a[u].push_back(v);
a[v].push_back(u);
}
for(int i=2;i<=n;i++)sort(a[i].begin(),a[i].end());
dfs(1,0,0);
cout<<maxc;
return 0;
}