Cod sursa(job #929825)

Utilizator Gusti666Lucaciu Catalin Gusti666 Data 27 martie 2013 11:57:28
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
# define infinit 1<<30
int i,n,j,Emax,energie[1005],cost[1005],dp[1005][1005];
int main()
{f>>n;
f>>Emax;
for(i=1;i<=n;i++){
f>>energie[i];f>>cost[i];}

for(i=0;i<=n;i++)
for(j=0;j<=Emax;j++){
 dp[i][j]= infinit;
}

for(i=1;i<=n;i++)
for(j=1;j<=Emax;j++){
if(dp[i-1][j]!=infinit) dp[i][j]=dp[i-1][j];
if(energie[i]>=j){
 {if(dp[i-1][j-energie[i]]==infinit) dp[i-1][j-energie[i]]=0;
dp[i][j]=min(dp[i][j],dp[i-1][j-energie[i]]+cost[i]); } } }

g<<dp[n][Emax];



    return 0;
}