Pagini recente » Diferente pentru happy-coding-2007/solutii intre reviziile 50 si 51 | Cod sursa (job #954125) | Cod sursa (job #2022061) | Cod sursa (job #257806) | Cod sursa (job #3335400)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin("carnati.in");
ofstream cout("carnati.out");
struct ura
{
int t,b;
}v[2001];
bool cmp(ura A, ura B) {
return A.t < B.t;
}
int main()
{
int n,c,i,maxi=-1000000000,s,aux,j;
cin>>n>>c;
for(i=1;i<=n;i++)
cin>>v[i].t>>v[i].b;
sort(v,v+n+1,cmp);
v[0].t=v[1].t;
for(i=1;i<=n;i++)
{
aux=v[i].b;s=0;
for(j=1;j<=n;j++)
{
s=s-(v[j].t-v[j-1].t)*c;
if(s<0)
s=0;
if(v[j].b>=aux)
s=s+v[j].b;
if(s>maxi)
maxi=s;
}
}
cout<<maxi-c;
return 0;
}