Pagini recente » Cod sursa (job #1111975) | Cod sursa (job #1545422) | Cod sursa (job #1455179) | Cod sursa (job #2033385) | Cod sursa (job #629144)
Cod sursa(job #629144)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
pair <int,int> v[2001];
int n,c,imax=0;
int max(int a,int b)
{
if(a>b) return a;
return b;
}
int profit(int pret)
{
int i,sc=0,smax=0,prc;
for(i=1; i<=n; i++)
{
if(v[i].second>=pret)
prc=pret-c;
else
prc=-c;
sc=max(sc-(v[i].first-v[i-1].first-1)*c,0)+prc;
if(sc>smax)
smax=sc;
}
return smax;
}
int main()
{
ifstream in ("carnati.in");
ofstream out ("carnati.out");
int i,j;
in>>n>>c;
for(i=1; i<=n; i++)
in>>v[i].first>>v[i].second;
sort(&v[1],&v[n+1]);
for(i=1; i<=n ;i++){
j=profit(v[i].second);
if(j>imax)
imax=j;
}
out<<imax;
return 0;
}