Pagini recente » Cod sursa (job #2500556) | Cod sursa (job #2878678) | Cod sursa (job #2277729) | Cod sursa (job #2299787) | Cod sursa (job #210101)
Cod sursa(job #210101)
#include <stdio.h>
#define FIN "carnati.in"
#define FOUT "carnati.out"
#define NMAX 2010
long int N,C;
long int P[NMAX],T[NMAX];
long int X,Y;
long int i,j;
long int G;
long int REZ=0;
long int max(long int a, long int b)
{
if (a>b)
return a;
else
return b;
}
void read_data()
{
freopen(FIN,"rt",stdin);
scanf("%ld %ld", &N, &C);
for (i=1;i<=N;++i)
scanf("%ld %ld", &T[i], &P[i]);
}
void solve()
{
for(i=1;i<=N;++i)
{
X=0;
for(j=1;j<=N;++j)
{
if(P[j]>=P[i])
G=P[i];
else
G=0;
Y=X-(T[j]-T[j-1])*C+G;
if (Y<G-C) Y=G-C;
if (Y>REZ) REZ=Y;
X=Y;
}
}
}
void write_data()
{
freopen(FOUT,"wt",stdout);
printf("%ld", REZ);
}
int main()
{
read_data();
solve();
write_data();
return 0;
}