Pagini recente » Cod sursa (job #3271575) | Cod sursa (job #2401622) | Cod sursa (job #2592251) | Cod sursa (job #2964535) | Cod sursa (job #930662)
Cod sursa(job #930662)
#include <fstream>
using namespace std;
ifstream ka("energii.in");
ofstream ki("energii.out");
int w[1001],p[1001],n,g,s,d[1001][5001];
int minim(int t,int k)
{
if(t<=k)
return t;
return k;
}
int main()
{
ka>>n>>g;
for(int i=1;i<=n;i++)
{ka>>p[i]>>w[i];
s+=p[i];}
if(s<g)
ki<<"-1";
else
{
for(int i=1;i<=g;i++)
d[0][i]=1<<30;
for(int i=1;i<=n;i++)
d[i][0]=1<<30;
for(int j=1;j<=n;j++)
{
for(int cw=1;cw<=g;cw++)
{
if(p[j]<cw)
d[j][cw]=minim(d[j-1][cw],d[j-1][cw-p[j]]+w[j]);
else
d[j][cw]=minim(d[j-1][cw],w[j]);
}
}
ki<<d[n][g]<<'\n';
}
}