Cod sursa(job #1600302)

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