Pagini recente » Cod sursa (job #1974440) | Ciorna | Cod sursa (job #2283387) | Cod sursa (job #1580079) | Cod sursa (job #3168051)
#include <bits/stdc++.h>
#define DIM 1001
#define MOD 30013
#define INF 1e9
#define MAX_VAL 15001
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int dp[MAX_VAL + 10];
pair <int, int> v[DIM];
int n, i, j, needed, answer = INF;
int main(){
fin >> n >> needed;
for(i=1;i<=n;i++)
fin >> v[i].first >> v[i].second;
for(i=1;i<=MAX_VAL;i++)
dp[i] = INF;
for(i=1;i<=n;i++){
for(j=0;j<=needed;j++){
if(dp[j] != INF)
dp[j + v[i].first] = min(dp[j + v[i].first], dp[j] + v[i].second);
}
}
for(i=needed;i<=MAX_VAL;i++)
answer = min(answer, dp[i]);
if(answer != INF)
fout << answer << "\n";
else fout << "-1\n";
}