Mai intai trebuie sa te autentifici.

Cod sursa(job #2080928)

Utilizator FunnyStockyMihnea Andreescu FunnyStocky Data 3 decembrie 2017 17:50:08
Problema Energii Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin("energii.in");
ofstream cout("energii.out");
const int nm=20000;
int dp[nm+5],aux[nm+5];
struct fint
{
    int energy,cost;
};
fint v[1005];
int n,necesar;
int main()
{
    cin>>n>>necesar;
    for(int i=1;i<=n;i++)
        cin>>v[i].energy>>v[i].cost;
    dp[0]=1;
    for(int i=1;i<=nm;i++)
        aux[i]=1e9;
    for(int i=1;i<=n;i++)
    {
        for(int j=0;j+v[i].energy<=nm;j++)
            if(dp[j])
                aux[j+v[i].energy]=min(aux[j+v[i].energy],dp[j]+v[i].cost);
        for(int j=1;j<=nm;j++)
            dp[j]=aux[j];
    }
    int mi=1e9;
    for(int i=necesar;i<=nm;i++)
        mi=min(mi,dp[i]-1);
    cout<<mi;
    cin.close();
    cout.close();
    return 0;
}
/**
dp[i][j]=cost minim din primele i cu energie j
**/