求调 E 题
  • 板块学术版
  • 楼主qczrz6v4nhp6u
  • 当前回复10
  • 已保存回复11
  • 发布时间2024/7/27 21:52
  • 上次更新2024/7/28 08:09:39
查看原帖
求调 E 题
654546
qczrz6v4nhp6u楼主2024/7/27 21:52

这场 A-G 都会做,结果这个 E 题莫名其妙挂了导致 G 没写完,我真服了。

#include<bits/stdc++.h>
using namespace std;
using ui=unsigned int;
using ll=long long;
using ull=unsigned long long;
using i128=__int128;
using u128=__uint128_t;
using pii=pair<int,int>;
#define fi first
#define se second
constexpr int N=85;
int n,x,y,a[N],b[N],f[N][10005];
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0),cout.tie(0);
	cin>>n>>x>>y;
	for(int i=1;i<=n;i++)cin>>a[i];
	for(int i=1;i<=n;i++)cin>>b[i];
	for(int i=1;i<=n;i++)
		for(int j=0;j<=x;j++)
			f[i][j]=1e9;
	for(int i=1;i<=n;i++)
		for(int k=n;k>=1;k--)
			for(int j=x;j>=a[i];j--)
				f[k][j]=min(f[k][j],f[k-1][j-a[i]]+b[i]);
	int ans=0;
	for(int i=1;i<=n;i++)
		if(f[i][x]<=y)
			ans=i;
	cout<<min(n,ans+1)<<'\n';
	return 0;
}
2024/7/27 21:52
加载中...