Cod sursa(job #787753)

Utilizator ichigo2908mantu radu ichigo2908 Data 13 septembrie 2012 20:13:40
Problema Energii Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>
using namespace std;

typedef struct gen
{
	int putere, cost;
};

gen u[1001];
const int INF=1000000000;
int v[5001], g, w;

void init()
{
	for(int i=1;i<=5000;i++)
		v[i]=INF;
}

int main()
{
	int i, j, min=1000000000, pmin;

	ifstream in("energii.in");
	ofstream out("energii.out");

	in>>g>>w;
	for(i=0;i<g;i++)
		in>>u[i].putere>>u[i].cost;

	init();
	for(i=0;i<g;i++)
		for(j=w;j>=0;j--)
			if(v[j]!=INF && v[j]+u[i].cost<v[j+u[i].putere])
			{
				v[j+u[i].putere]=v[j]+u[i].cost;
				if(j+u[i].putere>=w && v[j+u[i].putere]<min)
				{
					min=v[j+u[i].putere];
					pmin=j+u[i].putere;
				}
			}

	out<<v[pmin];

	in.close();
	out.close();

	return 0;
}