90pts WA on #4
查看原帖
90pts WA on #4
723238
wukaichen888楼主2022/11/6 16:22
//#include<synchapi.h>
#include<bits/stdc++.h>
//#include<type_traits>
//#include<debug/debug.h>
//#include<bits/stl_pair.h>
//#pragma GCC optimize(1)
//#pragma GCC optimize(2)
//#ifndef _STL_ALGOBASE_H
//#if __cplusplus > 201703L
//#define _STL_ALGOBASE_H 1
//#if __cplusplus >= 201103L
//#include<bits/c++config.h>
//#include<ext/type_traits.h>
//#include<bits/functexcept.h>
//#include<bits/stl_iterator.h>
//#include<ext/numeric_traits.h>
//#include<bits/concept_check.h>
//#include<bits/predefined_ops.h>
//#include<bits/cpp_type_traits.h>
//#include<bits/move.h> // For std::swap
//#include<bits/stl_iterator_base_types.h>
//#include<bits/stl_iterator_base_funcs.h>
using namespace std;
//#define int long long
//#define ll long long int
#define ull unsigned long long
typedef long long ll;
//#define I using
//#define AK namespace
//#define IOI std
//I AK IOI;


int n,m,k,c,a[105],b[105],f[105][1005],ans=-0x3f3f3f3f;
int main()
{
	memset(f,-0x3f3f3f3f,sizeof f);
	scanf("%d%d%d%d",&n,&m,&k,&c);
	for(int i=1;i<=n;i++)
		scanf("%d",&a[i]);
	for(int i=1;i<=n;i++)
		scanf("%d",&b[i]);
	f[0][0]=0;
	for(int i=1,x,y,u,v;i<=m;i++)
	{
		scanf("%d%d",&x,&y);
		u=b[x]+b[y],v=a[x]*a[y];
		for(int j=k-1;j>=0;j--)
			for(int p=0;p<=c;p++)
				if(f[j][p]!=-0x3f3f3f3f)
					f[j+1][min(p+u,c)]=max(f[j+1][min(p+u,c)],f[j][p]+v);
	}
	for(int i=1;i<=k;i++)
		ans=max(ans,f[i][c]);
	if(ans==-0x3f3f3f3f)
		return printf("-1"),0;
	return printf("%d",ans),0;
}
2022/11/6 16:22
加载中...