Pagini recente » Cod sursa (job #342747) | Cod sursa (job #2620642) | Cod sursa (job #496327) | Cod sursa (job #2615747) | Cod sursa (job #1807730)
#include <stdio.h>
#include <vector>
using namespace std;
int d[10001];
int min(int a, int b)
{
if(a<b) return a;
return b;
}
int main()
{
freopen("energii.in", "r", stdin);
freopen("energii.out", "w", stdout);
int n, putere, cost, neces;
scanf("%d %d", &n, &neces);
int d[10001];
for(int i=0; i<=neces; i++)
d[i]=neces+1;
for(int i=0;i<n;i++)
{
scanf("%d %d", &putere, &cost);
for(int j=neces; j>=0; j--)
{
if(j<=putere)
d[j]=min(d[j],cost);
else
d[j]=min(d[j],d[j-putere]+cost);
}
}
if(d[neces]==10001) printf("-1");
else printf("%d", d[neces]);
return 0;
}