Pagini recente » Cod sursa (job #2583718) | Cod sursa (job #2037902) | Cod sursa (job #3228114) | Cod sursa (job #2735195) | Cod sursa (job #639274)
Cod sursa(job #639274)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
struct el {
int a;
int b;
};
el v[5005];
long long gr[1000006],gr2[1000006],gr3[1000006],a[5005],b[5005];
long long s,n,i,x,T,y,j,m,mx,mx2;
bool comp (el x, el y)
{
return (x.a<y.a);
}
int main()
{
f>>n>>T;
for(i=1;i<=n;i++)
f>>v[i].a>>v[i].b;
sort(v+1,v+n+1,comp);
for(i=1; i<=n; i++)
{
x=v[i].a;y=v[i].b;
for(j=1; j<=T; j++)
{
if (gr[j]>0) gr2[j+x]=max(gr[j+x],gr[j]+y);
if (j+x>T) break;
}
gr2[x]=max(gr[x],y);
for(j=1;j<=T;j++) gr[j]=gr2[j];
}
for(i=1;i<=T;i++)
m=max(gr[i],m);
g<<m;
f.close();
g.close();
return 0;
}