Pagini recente » Cod sursa (job #578414) | Cod sursa (job #2277043) | Cod sursa (job #672607) | Cod sursa (job #1114697) | Cod sursa (job #679075)
Cod sursa(job #679075)
#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 = 1;
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++)
{
Cost[L][j] = Cost[1-L][j];
if( P[i] <= j )
Cost[L][j] = min(Cost[L][j], Cost[1-L][j - P[i]] + C[i]);
}
if( Cost[1-L][G] == INF )
out << "-1";
else
out << Cost[1-L][G];
}