Cod sursa(job #2051173)

Utilizator tifui.alexandruTifui Ioan Alexandru tifui.alexandru Data 28 octombrie 2017 17:00:11
Problema Carnati Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <bits/stdc++.h>
#define Nmax 2001
using namespace std;
ifstream f("carnati.in");
ofstream g("carnati.out");
pair <int,int> v[Nmax];
int main()
{
    int n,i,j,c,x;
    f>>n>>c;
    for(i=1;i<=n;i++)
        f>>v[i].first>>v[i].second;
    sort(v+1,v+n+1);
    int sum=-1,best=-INT_MAX;
    for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
        {
            if(v[i].second<=v[j].second) x=v[i].second;
            else x=0;
            if(j==1) sum=x-c;
            else sum=max(sum+x-c*(v[j].first-v[j-1].first),x-c);
            if(sum>best)
                best=sum;
        }
    g<<best;

    return 0;
}