Pagini recente » Cod sursa (job #2687229) | Cod sursa (job #1136510) | Cod sursa (job #3215434) | Cod sursa (job #2559766) | Cod sursa (job #766877)
Cod sursa(job #766877)
#include<stdio.h>
#define EMAX 10005
int a[ EMAX ], n, x;
void solve()
{
int i, j, e, c;
FILE *f = fopen("energii.in", "r");
fscanf(f, "%d %d", &n, &x);
for(i = 1; i < EMAX; i++)
a[i] = -1;
for(i = 1 ; i <= n; i++)
{
fscanf(f, "%d %d", &e, &c);
for(j = x; j >= 0; j--)
if(a[j] != - 1)
{
if(j + e <= x)
{
if(a[ e + j] == -1 || c + a[j] < a[ e + j ])
a[ e + j ] = c + a[j];
}
else if(a[x] == -1 || c + a[j] < a[x])
a[x] = c + a[j];
}
}
fclose(f);
}
void write()
{
FILE *g = fopen("energii.out", "w");
fprintf(g, "%d\n", a[x]);
fclose(g);
}
int main()
{
solve();
write();
return 0;
}