Pagini recente » Istoria paginii runda/12951410473088131 | Cod sursa (job #2423491) | Istoria paginii runda/12951410473088131 | Rating Madalina Zaharescu Ioana (MadalinaJacksoon) | Cod sursa (job #219119)
Cod sursa(job #219119)
#include<stdio.h>
int W,G,A[1001][2],D[2][5001],X,M;
int min(int a1,int a2,int k)
{
if (a1<0) if (a2-A[k][2]<0) return -1;
else return a2;
else if (a1<a2) return a1; else return a2;
}
int main()
{
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%d %d", &G, &W);
for (int i=1; i<=G; ++i)
scanf("%d %d", &A[i][1] ,&A[i][2]);
for (int i=1; i<=W; ++i)
if (A[1][1]>=i)
D[X][i]=A[1][2];
else D[X][i]=-1;
for (int i=2; i<=G; ++i)
{
for (int j=1;j<=W;++j)
{
M=min(D[X][j],D[X][j-A[i][1]]+A[i][2],i);
D[!X][j]=M;
}
X=!X;
}
printf("%d", D[X][W]);
}