Pagini recente » Istoria paginii runda/bulangandit1/clasament | Istoria paginii runda/noaptea_burlacilor3 | Istoria paginii runda/oni18_d1/clasament | Cod sursa (job #2645707) | Cod sursa (job #2317087)
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int n,C;
struct client
{
int timp,bani;
};
client clien[2001];
int profi (int val)
{
int profy=0;
int X;
int maxim_l;
if (val<=clien[1].bani)
profy=val;
profy-=C;
for (int i=2 ; i<=n ; i++)
{
if (val<=clien[i].bani)
X=val;
else
X=0;
profy=max(profy-(clien[i].timp-clien[i-1].timp)*C+X,X-C);
// if (profy<0)
// profy=0;
maxim_l=max(maxim_l,profy);
}
return maxim_l;
}
int cmp (client a ,client b)
{
if (a.timp<b.timp)
return 1;
return 0;
}
int sol;
int main()
{
freopen("carnati.in","r",stdin);
freopen("carnati.out","w",stdout);
cin>>n>>C;
for (int i=1 ; i<=n ; i++)
cin>>clien[i].timp>>clien[i].bani;
for (int i=1 ; i<=n ; i++)
{
int profit = profi (clien[i].bani);
if (sol<profit)
sol=profit;
}
cout<<sol;
return 0;
}