Pagini recente » Cod sursa (job #2829216) | Cod sursa (job #2756896) | Cod sursa (job #2713474) | Cod sursa (job #2827088) | Cod sursa (job #2201606)
#include <stdio.h>
#include <algorithm>
#include <iomanip>
#define MAXG 5000001
int N, G;
int D[MAXG];
int main(){
freopen("energii.in", "r", stdin);
freopen("energii.out", "w", stdout);
scanf("%d%d", &N, &G);
for(int i = 1; i <= G; i++)
D[i] = MAXG;
for(int i = 1; i <= N; i++){
int a, b;
scanf("%d%d", &a, &b);
for(int j = G; j >= 0; j--){
if(j + a < G)
D[j + a] = std::min(D[j+a], D[j]+b);
else
D[G] = std::min(D[G], D[j]+b);
}
}
if(D[G] == MAXG)
printf("-1");
else
printf("%d", D[G]);
return 0;
}