Pagini recente » Cod sursa (job #995176) | Cod sursa (job #804004) | Cod sursa (job #1162647) | Cod sursa (job #571272) | Cod sursa (job #2293152)
#include <fstream>
using namespace std;
int v[2001];
int t[2001];
ifstream cin("carnati.in");
ofstream cout("carnati.out");
int main()
{
int n,c,i,x,j;
long long s=0;
cin>>n>>c;
for(i=1; i<=n; i++)
{
cin>>t[i]>>v[i];
}
int smax=-2000000,ok=0,ok1=0,a,b;
for(i=1; i<=n; i++)
{
s=0;
ok=0;
ok1=0;
for(j=1; j<=n; j++)
{
if(v[i]<=v[j]&&ok==0)
{
s+=v[i];
ok=1;
a=t[i];
}
if(v[i]<=v[j]&&ok==1)
{
s+=v[i];
b=t[i];
}
s=s-c*(b-a+1);
if(s>smax)
{
smax=s;
x=v[i];
}
}
}
int pret=x;
long long profc=-1,profm=-1;
for(i=1; i<=n; i++)
{
if((t[i]-t[i-1]-1)*c>profc)
{
profc=0;
}
else
{
profc-=(t[i]-t[i-1]-1)*c;
}
profc+=(v[i]>=pret?pret:0)-c;
profm=max(profm,profc);
}
cout<<profm;
return 0;
}