Pagini recente » Cod sursa (job #1508249) | Cod sursa (job #2756348) | Cod sursa (job #2847370) | Cod sursa (job #1460609) | Cod sursa (job #2835609)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("carnati.in");
ofstream fout ("carnati.out");
struct f
{
int timp, pret;
};
f v[2010];
bool cmp(f a,f b)
{
if(a.timp<b.timp)
return true;
else
return false;
}
int main()
{
int n, c, i, j, pret, s, maxx, maxim=-1000000000;
fin>>n>>c;
for(i=1; i<=n; i++)
fin>>v[i].timp>>v[i].pret;
sort (v+1,v+n+1,cmp);
for(i=1; i<=n; i++)
{
pret=v[i].pret;
s=0;
maxx=-1000000000;
for(j=1; j<=n; j++)
{
if(j>1)
s=s-(v[j].timp-v[j-1].timp)*c;
if(s<0)
s=0;
if(v[j].pret>=pret)
s=s+pret;
if(s>maxx)
maxx=s;
}
if(maxx-c>maxim)
maxim=maxx-c;
}
fout<<maxim;
return 0;
}