Pagini recente » Cod sursa (job #2335074) | Cod sursa (job #648512) | Cod sursa (job #2258785) | Cod sursa (job #1949314) | Cod sursa (job #928648)
Cod sursa(job #928648)
#include <iostream>
#include <fstream>
using namespace std;
ifstream ka("energii.txt");
ofstream ki("energii.out");
int w[1001],p[1001],n,g,s;
unsigned long long d[1001][5001];
unsigned long long minim(unsigned long long t,unsigned long long 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];
}
}