Cod sursa(job #469979)

Utilizator andunhillMacarescu Sebastian andunhill Data 10 iulie 2010 11:35:31
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<fstream>
#include<bitset>
#include<vector>
using namespace std;
#define nm 5001
#define min(x,y) ((x)<(y)?(x):(y))
ifstream f("energii.in");
ofstream g("energii.out");
vector<int>e,ct;
int map[1002][nm+1];
int n,ec,min1,i,j;
int main()
{	f>>n>>ec;
	e.resize(n+2,0);
	ct.resize(n+2,0);
	for(i=1;i<=n;i++)
	{	f>>e[i]>>ct[i];
		for(j=1;j<=nm;j++)
			map[i][j]=0 , map[0][j]=500000;
	}
	min1=100000;
	for(i=1;i<=n;i++)
		for(j=1;j<=nm;j++)
			map[i][j]=min(map[i-1][j],map[i-1][j-e[i]]+ct[i]);
	for(i=ec;i<=nm;i++)
		for(j=1;j<=n;j++)
			if(min1>map[j][i]&&map[j][i]!=0)
				min1=map[j][i];
	g<<min1;
	f.close();
	g.close();
	return 0;
}