Cod sursa(job #2443659)

Utilizator lucian2015blaugranadevil lucian2015 Data 28 iulie 2019 23:22:03
Problema Energii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <fstream>
#define maxn 1001
#define maxe 5001
#define inf 10000
using namespace std;

ifstream f("energii.in");
ofstream g("energii.out");
int dp[maxe], cost[maxn], power[maxn];

int main(){
	int n, energy, i, j, s=0, sol=inf; 
	f>>n>>energy;
//	for(i=0;i<=n;i++)
			//dp[i]=inf;
	for(i=1;i<=n;i++){
		f>>power[i]>>cost[i];
		s+=cost[i];
	}
	if(s<energy){
		g<<-1<<"\n";
		return 0;
	}
	for(i=1;i<=n;i++)
		for(j=s;j>=cost[i];j--){
			dp[j]=max(dp[j],dp[j-cost[i]]+power[i]);
		}
	for(i=1;i<=s;i++)
		if(dp[i]>=energy){
		sol=i;
		break;
	}
	g<<sol<<"\n";

	
}