Pagini recente » Cod sursa (job #193577) | Cod sursa (job #814413) | Cod sursa (job #2768257) | Cod sursa (job #2358720) | Cod sursa (job #2377707)
#include<fstream>
using namespace std;
ifstream cin("energii.in");
ofstream cout("enrgii.out");
#define gmax 1001
#define wmax 5000
#define INF 9999999
int dp[wmax*3+5], w,n;
struct inf
{
int cost;
int energie;
} V[gmax];
void read()
{
int i;
cin>>n>>w;
for(i=1;i<=n;i++){
cin>>v[i].energie>>v[i].cost;
}
}
void solve()
{
int i,j,sol=INF;
for(i=1;i<=wmax*3;i++)
dp[i]=INF;
for(i=1;i<=n;i++)
{
for(j=x;j>=0;j--)
if(dp[j] !=INF)
{
dp[j+v[i].energie]=min(dp[j+v[i].energie],(dp[j]+v[i].cost));
}
}
for(i=w;i<=wmax*3;i++)
sol=min(dp[i],sol);
if(sol==INF) cout<< -1;
else cout<< sol;
}
int main()
{
read();
solve();
return 0;
}