Cod sursa(job #1400992)

Utilizator FlorinHajaFlorin Gabriel Haja FlorinHaja Data 25 martie 2015 16:46:15
Problema Carnati Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>

using namespace std;

ifstream f("carnati.in");
ofstream g("carnati.out");

struct carnat{
    int intrv, suma;
}A[2001];

int j1[2001];
int n, c, i, j, maxim, t;

int main()
{
    f >> n >> c;
    for (i = 1; i <= n; i++)
        f >> A[i].intrv >> A[i].suma;

    for (i = 1; i <= n; i++)
    {
        for (j = 1; j <= n; j++)
        {
            if (A[i].suma >= A[j].suma)
                t = A[i].suma;
            else
                t = 0;
            j1[i] = max((j1[i-1] - (A[i].intrv-A[i-1].intrv) * c + t), t-c);
            if (j1[i] > maxim)
                maxim = j1[i];
        }
    }

    g << maxim;
    return 0;
}