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