Pagini recente » Cod sursa (job #503629) | Cod sursa (job #2075760) | Cod sursa (job #2617454) | Cod sursa (job #290971) | Cod sursa (job #1962348)
#include <bits/stdc++.h>
using namespace std;
int d[10010];
int main()
{
FILE *fin, *fout;
int n, s, a, b, i, j, ans=INT_MAX;
fin = fopen ("energii.in", "r");
fout = fopen ("energii.out", "w");
fscanf (fin, "%d%d", &n, &s);
for (i = 1;i <= 2 * s; i++)
d[i] = 10000010;
for(i = 1; i <= n; i++){
fscanf (fin, "%d%d", &a, &b);
for(j = s * 2; j >= a; j--)
d[j] = min(d[j], d[j - a] + b);
}
for(i = s; i <= s*2; i++)
if(d[i] != 10000010) {
ans = min(ans, d[i]);
}
if(ans == INT_MAX)
fprintf (fout, "-1");
else
fprintf (fout, "%d", ans);
fclose (fin);
fclose (fout);
return 0;
}