Pagini recente » Cod sursa (job #1611667) | Cod sursa (job #1262675) | Cod sursa (job #539500) | Cod sursa (job #2717127) | Cod sursa (job #1358284)
#include<fstream>
#include<vector>
#include<algorithm>
using namespace std;
ifstream fin("carnati.in");
ofstream fout("carnati.out");
vector <int> V,T[1505];
int n,c,x,y,s,smax,m=1505,M;
int main()
{
int i,j,k,nr;
fin>>n>>c;
for (i=1;i<=n;++i)
{
fin>>x>>y;
V.push_back(y);
T[x].push_back(y);
m=min(m,x), M=max(M,x);
}
sort(V.begin(),V.end());
for (k=0;k<n;++k)
{
s=0;
for (i=m;i<=M;++i)
{
nr=0;
for (j=0;j<T[i].size();++j)
if (V[k]<=T[i][j])
++nr;
if (s>=0)
s+=V[k]*nr-c;
else
s=V[k]*nr-c;
smax=max(s,smax);
}
}
fout<<smax<<"\n";
return 0;
}