Cod sursa(job #2127631)

Utilizator patcasrarespatcas rares danut patcasrares Data 10 februarie 2018 21:04:53
Problema Carnati Scor 100
Compilator cpp Status done
Runda rar21 Marime 0.9 kb
#include<fstream>
#include<algorithm>
#include<iostream>
#define x first
#define y second
#define DN 2005
using namespace std;
ifstream fin("carnati.in");
ofstream fout("carnati.out");
int n,c,b[DN],v,st,d,ma;
pair<int,int>a[DN];
int main()
{
    fin>>n>>c;
    for(int i=1;i<=n;i++)
    {
        fin>>a[i].x>>a[i].y;
        b[i]=a[i].y;
    }
    sort(b+1,b+n+1);
    sort(a+1,a+n+1);
    for(int h=1;h<=n;h++)
    {
        d=b[h];
        for(int i=1;i<=n;i++)
        {
            if(i==1)
            {
                st=1;
                v=-c;
            }
            else
            {
                v=v-(a[i].x-a[i-1].x)*c;
                if(v<-c)
                {
                    v=-c;
                    st=i;
                }
            }
            if(a[i].y>=d)
                v+=d;
            ma=max(ma,v);
        }
    }
    fout<<ma;
}