Pagini recente » Cod sursa (job #2194499) | Cod sursa (job #1287384) | Cod sursa (job #1397138) | Cod sursa (job #2847890) | Cod sursa (job #3323221)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("carnati.in");
ofstream fout("carnati.out");
int p[2001], t[2001];
int main()
{
int c, i, j, n, maxs=0, s, ok, a;
fin >> n >> c;
for(i=1; i<=n; i++)
{
fin >> t[i] >> p[i];
}
t[0]=t[1];
for(i=1; i<n; i++)
{
ok=0;
for(j=1; j<n-i+1; j++)
{
if(t[j]>t[j+1])
{
a=t[j];
t[j]=t[j+1];
t[j+1]=a;
a=p[j];
p[j]=p[j+1];
p[j+1]=a;
ok=1;
}
}
if(ok==0)
{
break;
}
}
for(i=1; i<=n; i++)
{
s=0;
ok=0;
for(j=1; j<=n; j++)
{
if(ok==1)
{
s-=(t[j]-t[j-1])*c;
}
ok=1;
if(s<=0)
{
s=0;
}
if(p[i]<=p[j])
{
s+=p[i];
}
if(maxs<s)
{
maxs=s;
}
}
}
fout << maxs-c;
return 0;
}