Cod sursa(job #1595255)

Utilizator FlorinHajaFlorin Gabriel Haja FlorinHaja Data 10 februarie 2016 09:15:15
Problema Carnati Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>
#include <algorithm>

using namespace std;

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

int n, c, i, j, s, maxim;
struct carne
{
    int pret, timp;
}a[2001];

bool cmp(carne a, carne b)
{
    return (a.timp < b.timp);
}

int main()
{
    f >> n >> c;
    for (i = 1; i <= n; i++)
        f >> a[i].timp >> a[i].pret;

    sort(a+1, a+n+1, cmp);

    for (i = 1; i <= n; i++)
        for (j = 1, s = 0; j <= n; j++)
            if (a[i].pret < a[j].pret)
            {
                s = max(s+a[i].pret-(a[j].timp - a[j-1].timp)*c, a[i].pret-c);
                if (s > maxim)
                    maxim = s;
            }
    g << maxim;
    return 0;
}