299 | 2021. 08. 20 21:10:46 | Babják Péter | Befektetés | cpp11 | Elfogadva 40/40 | 35ms | 2628 KiB |
#include <bits/stdc++.h>
#define N 4010
using namespace std;
struct d
{
int a,e,t;
};
struct cmp
{
bool operator()(const d &p, const d &q)
{
return p.t<q.t;
}
};
int dp[2][N][2];
signed main()
{
int n,k;
cin>>n>>k;
vector<d>h(n);
for(int i=0;i<n;i++)
{
int a,b,c;
cin>>a>>b>>c;
h[i].a=a;
h[i].e=b;
h[i].t=c;
}
sort(h.begin(),h.end(),cmp());
for(int j=1;j<=n;j++)
{
int z;
bool b=j&1;
for(int i=1;i<=k;i++)
{
z=i-h[j-1].a;
if(z>=0) dp[0][i][b]=max(dp[0][i][!b],dp[0][z][!b]+h[j-1].e);
else dp[0][i][b]=dp[0][i][!b];
z=z-h[j-1].t;
if(z>=0) dp[1][i][b]=max(dp[1][i][!b],dp[0][z][!b]+h[j-1].e);
else dp[1][i][b]=dp[1][i][!b];
}
}
cout<<dp[1][k][n&1];
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 40/40 | ||||||
1 | Elfogadva | 0/0 | 2ms | 1744 KiB | |||
2 | Elfogadva | 0/0 | 4ms | 1892 KiB | |||
3 | Elfogadva | 2/2 | 1ms | 1872 KiB | |||
4 | Elfogadva | 2/2 | 1ms | 1876 KiB | |||
5 | Elfogadva | 1/1 | 2ms | 1884 KiB | |||
6 | Elfogadva | 2/2 | 3ms | 1888 KiB | |||
7 | Elfogadva | 2/2 | 2ms | 1896 KiB | |||
8 | Elfogadva | 2/2 | 3ms | 1896 KiB | |||
9 | Elfogadva | 2/2 | 2ms | 1900 KiB | |||
10 | Elfogadva | 2/2 | 2ms | 1900 KiB | |||
11 | Elfogadva | 3/3 | 9ms | 1956 KiB | |||
12 | Elfogadva | 3/3 | 9ms | 1996 KiB | |||
13 | Elfogadva | 3/3 | 9ms | 2016 KiB | |||
14 | Elfogadva | 3/3 | 10ms | 2044 KiB | |||
15 | Elfogadva | 3/3 | 8ms | 2088 KiB | |||
16 | Elfogadva | 4/4 | 8ms | 2116 KiB | |||
17 | Elfogadva | 1/1 | 30ms | 2324 KiB | |||
18 | Elfogadva | 1/1 | 30ms | 2388 KiB | |||
19 | Elfogadva | 1/1 | 30ms | 2444 KiB | |||
20 | Elfogadva | 1/1 | 32ms | 2504 KiB | |||
21 | Elfogadva | 1/1 | 35ms | 2568 KiB | |||
22 | Elfogadva | 1/1 | 30ms | 2628 KiB |