Cod sursa(job #2069914)

Utilizator Mihai145Oprea Mihai Adrian Mihai145 Data 18 noiembrie 2017 22:41:27
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
long long n, c, g, w[1002], p[1002], d[10002], gt[10002], costmin=INT_MAX;
int main()
{
    int i, j;
    fin>>n>>c;
    for(i=1; i<=n; i++)
    {
        fin>>w[i]>>p[i];
        if(w[i]>g)
            g=w[i];
    }
    for(i=1; i<=n; i++)
        for(j=g; j>=w[i]; j--)
            {
                if(d[j]<d[j-w[i]]+p[i])
                {
                    d[j]=d[j-w[i]]+p[i];
                    gt[j]+=w[i];
                    if(gt[j]>=c && d[j]<=costmin)
                        costmin=d[j];
                }
            }
    fout<<costmin<<'\n';
    return 0;
}