本地过了,luogu pts15qwq
查看原帖
本地过了,luogu pts15qwq
464094
NEO_bone楼主2022/8/20 07:44
#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <algorithm>
#define ll long long
using namespace std;
ll t,n,ans;
struct food{
    ll a,b,c;
}f[55];
ll dp[100005];
int cmd(food a,food b)
{
    a.b*b.c>a.c*b.b;
}
int main()
{
    cin>>t>>n;
    for(ll i=1;i<=n;i++)
    cin>>f[i].a;
    for(ll i=1;i<=n;i++)
    cin>>f[i].b;
    for(ll i=1;i<=n;i++)
    cin>>f[i].c;
	sort(f+1,f+1+n,cmd);
    for(ll i=1;i<=n;i++)
    for(ll l=t;l>=f[i].c;l--)
	dp[l]=max(dp[l],dp[l-f[i].c]+f[i].a-l*f[i].b);
	for(ll i=1;i<=t;i++)
	ans=max(ans,dp[i]);
	cout<<ans<<endl;
    return 0;
}
2022/8/20 07:44
加载中...