Cod sursa(job #2139393)

Utilizator NicolaalexandraNicola Alexandra Mihaela Nicolaalexandra Data 22 februarie 2018 15:09:02
Problema Carnati Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <fstream>
#include <algorithm>
using namespace std;
long long n,c,x,i,j,sum,maxi,g;
pair <int,int> v[2001];
ifstream fin ("carnati.in");
ofstream fout ("carnati.out");

int main (){

    fin>>n>>c;
    for (i=1;i<=n;i++)
        fin>>v[i].first>>v[i].second;
          ///   t[i]        p[i]
    sort (v+1,v+n+1);

    for (i=1;i<=n;i++){
        /// avem fixat pretul v[i].second
        if (v[i].second <= v[1].second)
            g = v[i].second;
        else
            g = 0;
        sum = g - c;
        for (j=2;j<=n;j++){
            if (v[i].second <= v[j].second)
                g = v[i].second;
            else
                g = 0;

            if (sum - (v[j].first - v[j-1].first)*c + g >= g-c)
                sum = sum - (v[j].first-v[j-1].first)*c+g;
            else
                sum = g-c;

            maxi = max (maxi,sum);
        }

    }
    fout<<maxi;


    return 0;
}