Cod sursa(job #1778523)

Utilizator vladboss2323Ciorica Vlad vladboss2323 Data 13 octombrie 2016 21:10:24
Problema Carnati Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;

const int N=2000;
struct cump{
    int t,p;
};
 cump a[N];
 bool cmp(cump A,cump B)
 {
     return A.t<B.t;
 }
int main()
{
    ifstream in("carnati.in");
    ofstream out("carnati.out");
    int c,smax=0,i,j,k,x,n,b=0,y;
    in>>n>>c;
    for(i=1;i<=n;i++)
        in>>a[i].t>>a[i].p;
    sort(a+1,a+n+1,cmp);
    a[0].t=-10;
    for(i=1;i<=n;i++)
    {
        x=a[i].p;
        k=0;
        for(j=1;j<=n;j++)
        {
            b=0;
            if(a[j].p>=x)
                b=x;
            y=k+b-(a[j].t-a[j-1].t)*c;
            if(y>b-c)
               k=y;
            else
                k=b-c;
            if(k>smax)
                smax=k;
        }
    }
    out<<smax;
    return 0;
}