Cod sursa(job #1600310)

Utilizator TibixbAndrei Tiberiu Tibixb Data 14 februarie 2016 21:07:44
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
 #include<fstream>
 #include<cstring>
 #define inf 0x7f7f7f7f
 using namespace std;
 int n, t, i, j, cant, cost, D[10002], cmax, sol;
 ifstream in("energii.in");
 ofstream out("energii.out");
 int main()
 {
    in>>n>>t;
    memset(D, 127, sizeof(D));
    D[0]=0;
    sol=inf;
    for(j=1; j<=n; j++)
    {
        in>>cant>>cost;
        for(i=cmax; i>=0; i--)
        {
            if(i+cant<=10000 && i+cant>cmax)
                cmax=i+cant;
            if(i+cant<=10000 && D[i+cant]>D[i]+cost)
            {
                D[i+cant]=D[i]+cost;
                if(D[i+cant]<sol)
                    sol=D[i+cant];
            }
        }
    }
    sol!=inf?out<<sol:out<<"-1";
    return 0;
 }