Cod sursa(job #2318263)

Utilizator vladuteluVlad Oancea vladutelu Data 13 ianuarie 2019 13:30:56
Problema Carnati Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <bits/stdc++.h>
using namespace std;

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

struct om
{
    int t;
    int p;
};

om v[2001];

int main()
{
    int pr = -999999, n, prmax = -1, c, pret, G;
    in>>n>>c;

    for(int i = 1; i<=n; i++)
    {
        in>>v[i].t>>v[i].p;
    }

    //v[0].t = v[1].t;
    for(int j  = 1; j<=n; j++)
    {
        pret = v[j].p;
        pr = 0;
        for(int i = 1; i<=n; i++)
        {
            if(v[i].p>=pret)
                G = pret;
            else
                G = 0;

            pr = pr + G - (v[i].t - v[i-1].t)*c;

            if(pr < G - c)
                pr = G - c;
            if(pr>prmax)
            {
                prmax = pr;
            }

            if(pr<0)
            {
                pr = 0;
            }
        }

    }

    out<<prmax;
    return 0;
}