Cod sursa(job #1963337)

Utilizator 3DwArDPauliuc Edward 3DwArD Data 12 aprilie 2017 14:07:42
Problema Carnati Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("carnati.in");
ofstream g("carnati.out");
#define Nmax 2003
struct client{
    int t,p;
};
client v[Nmax];
int n,c;
inline bool cmp(const client &a,const client &b){
    return a.t<b.t;
}
int ans[Nmax],rez=0
;
int main()
{
    f>>n>>c;
    for(int i=1;i<=n;i++)f>>v[i].t>>v[i].p;
    sort(v,v+n+1,cmp);
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
            ans[j]=0;
            if(v[j].p>=v[i].p){
                ans[j]=max(ans[j-1]-c*(v[j].t-v[j-1].t)+v[i].p,v[i].p-c);
            }else
            ans[j]=max(ans[j-1]-c*(v[j].t-v[j-1].t),-c);
            if(ans[j]>rez)rez=ans[j];
        }
    }
    g<<rez;
    return 0;
}