Cod sursa(job #851150)

Utilizator misinozzz zzz misino Data 9 ianuarie 2013 16:50:20
Problema Carnati Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f("carnati.in");
ofstream g("carnati.out");
int i,n,p,x,u,s,c,j,sol=-(1<<32);
struct client{int timp,pret;};
client a[2013];
bool cmp(client a,client b)
{
    return a.timp<b.timp;
}
int main()
{
    f>>n>>c;
    for(i=1;i<=n;++i)
    f>>a[i].timp>>a[i].pret;
    sort(a+1,a+n+1,cmp);
    for(i=1;i<=n;++i)
    {
        s=0;
        for(j=1;j<=n;++j)
        {
            p=a[i].pret*(a[j].pret>=a[i].pret);
            x=p-(a[j].timp-a[j-1].timp)*c;
            if(s+x<p-c)
            s=p-c;
            else
            s+=x;
            sol=max(sol,s);
        }

    }
    g<<sol<<'\n';
    return 0;
}