记录编号 351570 评测结果 AAAAAAAAAA
题目名称 冰桥,升起来了! 最终得分 100
用户昵称 GravatarAAAAAAAAAA 是否通过 通过
代码语言 C++ 运行时间 0.035 s
提交时间 2016-11-16 17:20:03 内存使用 0.68 MiB
显示代码纯文本
#include<cstdio>
#include<algorithm>
namespace IO{
	char buf[1<<15],*fs,*ft;
	inline char gc(){return (fs==ft&&(ft=(fs=buf)+fread(buf,1,1<<15,stdin),fs==ft))?0:*fs++;}
	inline int qr(){
		int x=0,ch=gc();
		while(ch<'0'||ch>'9'){ch=gc();}
		while(ch>='0'&&ch<='9'){x=(x<<1)+(x<<3)+ch-'0';ch=gc();}
		return x;}
}using namespace IO;
using namespace std;
/*******************************************************************************************************/
int A,B,K,va[40010],vb[40010],fa[40010],fb[40010];
struct EDGE{
	int a;
	int b;
}e[100010];
bool cmp(EDGE x,EDGE y){
	if(x.a==y.a){
		return x.b<y.b;}
	return x.a<y.a;}
int sb(){
	freopen ("meibridge.in","r",stdin);
	freopen ("meibridge.out","w",stdout);
	int i,ans=0;
	A=qr();B=qr();K=qr();
	for(i=1;i<=A;i++){
		va[i]=qr();
		fa[i]=va[i];}
	for(i=1;i<=B;i++){
		vb[i]=qr();
		fb[i]=vb[i];}
	for(i=1;i<=K;i++){
		e[i].a=qr();
		e[i].b=qr();}
	sort(e+1,e+1+K,cmp);
	for(i=1;i<=K;i++){
		int a=e[i].a;int b=e[i].b;int FA=fa[a];int FB=fb[b];
		fa[a]=max(fa[a],FB+va[a]);
		fb[b]=max(fb[b],FA+vb[b]);}
	for(i=1;i<=A;i++){
		ans=max(fa[i],ans);}
	for(i=1;i<=B;i++){
		ans=max(fb[i],ans);}
	printf("%d",ans);
	return 0;
}
int chh=sb();
int main(){
	return 0;
}