Pagini recente » Cod sursa (job #1746578) | Cod sursa (job #1960870) | Cod sursa (job #1658558) | Cod sursa (job #2643899) | Cod sursa (job #679077)
Cod sursa(job #679077)
#include<fstream>
#include<algorithm>
#define INF 0x3f3f3f3f
using namespace std;
ifstream in("energii.in");
ofstream out("energii.out");
int Cost[4][5005];
int N, G, P[1005], C[1005];
int main()
{
int i, j;
in >> N >> G;
for(i = 1; i <= N; i++)
in >> P[i] >> C[i];
int L = 0;
for(i = 0; i <= N; i++, L = 1 - L)
for(j = 1; j <= G; j++)
Cost[L][j] = INF;
L = 1;
for(i = 1; i <= N; i++, L = 1 - L)
for(j = 1; j <= G; j++)
if( P[i] <= j )
Cost[L][j] = min(Cost[L][j], Cost[1-L][j - P[i]] + C[i]);
else
Cost[L][j] = min(Cost[1-L][j], C[L]);
if( Cost[1-L][G] == INF )
out << "-1";
else
out << Cost[1-L][G];
}