Pagini recente » Cod sursa (job #1313143) | Cod sursa (job #778483) | Cod sursa (job #381165) | Cod sursa (job #3169288) | Cod sursa (job #739674)
Cod sursa(job #739674)
#include <iostream>
#include <stdio.h>
#include <math.h>
#include <stack>
#include <cstdlib>
#include <vector>
#include <algorithm>
#include <string.h>
using namespace std;
#define INPUT "in.txt"
#define IN "energii.in"
#define OUT "energii.out"
#define MAX 5000
int n, t;
void sol() {
scanf("%d %d", &n, &t);
int len = min(t, MAX);
int* cost = (int*) malloc((len + 1) * sizeof (int));
for(int i=0; i<=len; i++) {
cost[i]=-1;
}
cost[0]=0;
for(int i=0; i<n; i++) {
int e, c;
scanf("%d %d", &e, &c);
for (int i = len-1; i >=0; i--) {
if(cost[i] != -1) {
int next = min(len, i+e);
cost[next]=cost[next]==-1 ? cost[i]+c : min(cost[next],cost[i]+c);
}
}
}
printf("%d", cost[len]);
}
int main() {
#ifdef PADREATI
freopen(INPUT, "r", stdin);
#else
freopen(IN, "r", stdin);
freopen(OUT, "w", stdout);
#endif
sol();
return 0;
}