105252024-04-04 16:18:01111Jobstown-i milliomoscpp17Elfogadva 100/1001.835s7720 KiB
#include<bits/stdc++.h>
using namespace std;

#define int long long

signed main(){
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	int N,M;
	cin>>N>>M;
	vector<int>v(N),p(501),dp(250501);
	for(int i=0;i<N;i++){
		cin>>v[i];
	}
	for(int i=0;i<N;i++){
		int x;
		cin>>x;
		p[v[i]]=max(p[v[i]],x);
	}
	for(int i=1;i<=500;i++){
		p[i]=max(p[i],p[i-1]);
	}
	for(int i=0;i<250000;i++){
		for(int j=1;j<=500;j++){
			dp[i+j]=max(dp[i+j],dp[i]+p[j]);
		}
	}
	int ans=0;
	for(int i=0;i<=min(M,250000ll);i++){
		for(int j=1;j<=500;j++){
			ans=max(ans,dp[i]+(M-i)/j*p[j]);
		}
	}
	cout<<ans<<'\n';
	return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva187ms5916 KiB
2Elfogadva186ms6208 KiB
subtask225/25
3Elfogadva186ms6244 KiB
4Elfogadva186ms6460 KiB
5Elfogadva515ms6496 KiB
6Elfogadva515ms6636 KiB
7Elfogadva515ms6572 KiB
8Elfogadva515ms6576 KiB
9Elfogadva515ms6604 KiB
10Elfogadva515ms6604 KiB
11Elfogadva517ms6860 KiB
12Elfogadva517ms7028 KiB
13Elfogadva515ms6996 KiB
14Elfogadva515ms6996 KiB
subtask316/16
15Elfogadva1.835s7144 KiB
16Elfogadva1.835s7172 KiB
17Elfogadva1.835s7128 KiB
18Elfogadva1.835s7416 KiB
19Elfogadva1.835s7424 KiB
20Elfogadva1.835s7340 KiB
21Elfogadva1.835s7336 KiB
subtask459/59
22Elfogadva186ms7376 KiB
23Elfogadva186ms7380 KiB
24Elfogadva1.835s7384 KiB
25Elfogadva1.835s7372 KiB
26Elfogadva1.835s7340 KiB
27Elfogadva1.835s7460 KiB
28Elfogadva1.835s7496 KiB
29Elfogadva1.835s7496 KiB
30Elfogadva1.835s7340 KiB
31Elfogadva1.835s7488 KiB
32Elfogadva1.835s7476 KiB
33Elfogadva1.835s7720 KiB