记录编号 552289 评测结果 AWWWW
题目名称 [HAOI 2005]希望小学 最终得分 20
用户昵称 GravatarEvolt 是否通过 未通过
代码语言 C++ 运行时间 0.004 s
提交时间 2020-07-25 12:02:14 内存使用 21.32 MiB
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <queue>
#include <cstring>
using namespace std;
typedef unsigned long long ULL;
const int INF = 0x7f;
const int MAXN = 1001;
ULL n,b1,b2,b3,g1,g2,g3,m;
ULL xn[MAXN],yn[MAXN];
ULL g[MAXN][MAXN];
int main () {
	freopen("hopeschool.in","r",stdin);
	freopen("hopeschool.out","w",stdout);
	cin >> n >> b1 >> b2 >> b3 >> g1>>g2 >> g3;
//	scanf("%lld%lld%lld%lld%lld%lld%lld",&n,&b1,&b2,&b3,&g1,&g2,&g3);
	for (int q=1;q<=n;q++) {
		for (int w=1;w<=n;w++) {
			g[q][w]=INF;
		}
		g[q][q]=0;
	}
	for (int q=1;q<=n;q++) {
		cin >> xn[q];
	//	scanf("%lld",&xn[q]);
	}
	for (int q=1;q<=n;q++) {
		cin >> yn[q];
	//	scanf("%lld",&yn[q]);
	}
	cin >> m;
//	scanf("%lld",&m);
	ULL a,b,s1,s2,s3;
	ULL c;
	for (int q=1;q<=m;q++) {
		cin >> a >> b >> s1 >> s2 >> s3;
	//	scanf("%lld%lld%lld%lld%lld",&a,&b,&s1,&s2,&s3);
		g[a][b]=xn[a]*(s1*b1+s2*b2+s3*b3)+yn[a]*(s1*g1+s2*g2+s3*g3);
		g[b][a]=xn[b]*(s1*b1+s2*b2+s3*b3)+yn[b]*(s1*g1+s2*g2+s3*g3);
	}
	for (int k=1;k<=n;k++) {
		for (int q=1;q<=n;q++) {
			for (int w=1;w<=n;w++){
				if (q!=w&&w!=k&&q!=k)
				g[q][w]=min(g[q][k]+g[k][w],g[q][w]);
			}
		}
	}
	int sum=100000001,index;
	for (int q=1;q<=n;q++) {
		int ans=0;
		for (int w=1;w<=n;w++) {
			if (q!=w) if (g[q][w]!=INF) ans+=g[w][q];
		}
		if (ans<sum) {
			sum=ans;
			index=q;
		}
	}
//	ll maxl[MAXN]={0};
//	for (int w=1;w<=n;w++) {
//		for (int q=1;q<=n;q++) {
//			if (g[q][w]!=INF)
//			maxl[q]+=g[q][w];
//		}
//	}
//	ll maxx=-1,index=0;
//	for (int q=1;q<=n;q++) {
//		if (maxx<maxl[q]) {
//			maxx=maxl[q];
//			index=q;
//		}
//	}
	cout << index;
	//printf("%lld\n",index);
	return 0;
}