Pagini recente » Cod sursa (job #3269675) | Cod sursa (job #1769927) | Cod sursa (job #1857390) | Cod sursa (job #1888095) | Cod sursa (job #2293147)
#include <iostream>
#include <cstdio>
using namespace std;
const int NMAX=2000;
struct sausage
{
int ora;
int pt;
};
sausage v[NMAX+1];
int n,c;
long long Smax=-1;
void ssm(int a)
{
long long smax=-1,sc=0;
int i, p1,p,p2;
for(i=1; i<=n; i++)
{
if((v[i].ora-v[i-1].ora-1)*c>sc)
{
sc=0;
}
else
{
sc-=(v[i].ora-v[i-1].ora-1)*c;
}
sc+=(v[i].pt>=a?a:0)-c;
if(sc>smax)
{
smax=sc;
}
}
if(smax>Smax)
{
Smax=smax;
}
}
int main()
{
freopen("carnati.in","r",stdin);
freopen("carnati.out","w",stdout);
scanf("%d %d",&n,&c);
for(int i=1; i<=n; i++)
{
scanf("%d %d",&v[i].ora,&v[i].pt);
}
for(int i=1; i<=n; i++)
{
ssm(v[i].pt);
}
printf("%d\n",Smax);
return 0;
}