Cod sursa(job #2443663)

Utilizator lucian2015blaugranadevil lucian2015 Data 28 iulie 2019 23:38:44
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <fstream>
#define maxn 1001
#define maxe 5001
#define inf 1<<29
using namespace std;

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

int main(){
	int n, energy, i, j;
	f>>n>>energy;
	int dp[maxe], cost[maxn], power[maxn];
	for(i=0;i<=energy;i++)
			dp[i]=inf;
	for(i=1;i<=n;i++){
		f>>power[i]>>cost[i];
	
	}
	for(i=1;i<=n;i++){
		for(j=energy;j>=power[i];j--){
			dp[j]=min(dp[j],dp[j-power[i]]+cost[i]);
		}
		for(j=1;j<=power[i];j++)
			dp[j]=min(dp[j],cost[i]);
	}
	 if(dp[energy]!=inf){
	 	g<<dp[energy]<<"\n";
	 } 
	 else
	 	g<<"-1"<<"\n";
}