Cod sursa(job #2428445)

Utilizator isa_edi_cristeaEdi Cristea isa_edi_cristea Data 5 iunie 2019 10:51:40
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <iostream>
#include <fstream>
using namespace std;
int s[10001];
struct energii{
	int energie;
	int cost;
};
energii v;
int main()
{
	ifstream fin("energii.in");
	ofstream fout("energii.out");
	int g,w,i,smin,max1,min1,j;
	fin>>g>>w;
	for(i=1;i<=10001;i++)
		s[i]=2000000000;
	max1=0;
	for(i=1;i<=g;i++){
		fin>>v.energie>>v.cost;
		for(j=max1;j>=0;j--){
				if(j+v.energie<10002){
					if(s[j]+v.cost<s[j+v.energie])
						s[j+v.energie]=s[j]+v.cost;
				}
		}
		if(max1+v.energie<=10002)
			max1=max1+v.energie;
		else
			max1=10001;
	}
	if(max1<w)
		fout<<"-1";
	else{
			min1=2000000000;
		for(i=w;i<10001;i++){
			if(s[i]!=2000000000 && s[i]<min1)
				min1=s[i];
		}
		fout<<min1;
	}
    return 0;
}