Pagini recente » Cod sursa (job #302112) | Cod sursa (job #929935) | Cod sursa (job #1127277) | Cod sursa (job #463113) | Cod sursa (job #2664078)
#include <bits/stdc++.h>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int G,W,a[1005][10005],suma[1005];
pair <int,int> v[1005];
int main()
{
f>>G>>W;
int H=0;
for(int i=1; i<=G; i++)
f>>v[i].first>>v[i].second,suma[i]=suma[i-1]+v[i].first,H=max(H,v[i].first);
for(int i=0; i<=H; i++)
a[0][i]=1e9;
for(int i=1; i<=G; i++)
for(int j=1; j<=H; j++)
if(suma[i]>=j)
a[i][j]=min(a[i-1][j],a[i-1][j-v[i].first]+v[i].second);
else
a[i][j]=a[i-1][j];
if(a[G][W]==1e9)
g<<-1;
else g<<a[G][W];
return 0;
}