Cod sursa(job #2310173)

Utilizator TeodoraMiuTeodora Miu TeodoraMiu Data 30 decembrie 2018 18:18:22
Problema Carnati Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <fstream>
#include <bits/stdc++.h>
using namespace std;
struct pret
{
    long t,p;
};
bool cmp(pret a,pret b){return a.t<b.t;}
int main()
{
    ifstream fin("carnati.in");
    ofstream fout("carnati.out");
    long n,c,i,pmax=-2000000000,G,news,old,j;
    pret v[2000];
    fin>>n>>c;
    for (i=0; i<n; i++)
        fin>>v[i].t>>v[i].p;
    sort(v,v+n,cmp);
    for(i=0; i<n; i++)
    {
        old=0;
        //news=p[i]-c;
        //if(news>pmax)
        //    pmax=news;
        //old=news;
        for(j=0;j<n;j++)
        {
            if(v[j].p>=v[i].p)
                G=v[i].p;
            else
                G=0;
            news=old-(v[j].t-((j==0)?0:(v[j-1].t)))*c+G;
            if(news<G-c) news=G-c;
            if(news>pmax)
                pmax=news;
            old=news;
        }

    }
    fout<<pmax;
    fin.close();
    fout.close();
    return 0;
}