Cod sursa(job #461542)

Utilizator NoellaRadu Noela Noella Data 7 iunie 2010 13:42:02
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("energii.in");
ofstream h("energii.out");
struct generator {int e,c;}g[1002];
const int inf=5002*1002;
int n,w,c[5002],i,j,wi,wmax,cc;
int main()
	{f>>n>>w;   
	for(i=1;i<=n;i++) f>>g[i].e>>g[i].c; 
	for(i=1;i<=w;i++) c[i]=inf;       
	for(i=1;i<=n;i++)
		{ for(j=wmax;j>=0;j--)            
			if(c[j]!=inf)
				{wi=j+g[i].e;   
				cc=c[j]+g[i].c; 
				if(wi>w) wi=w; 
				if(wi>wmax) wmax=wi; 
				if(c[wi]>cc) c[wi]=cc;
				}   
		}  
	if(c[w]!=inf) h<<c[w];  
		else h<<-1;    
	f.close();    
	h.close();     
	return 0;}