Pagini recente » Cod sursa (job #2782648) | Cod sursa (job #1747648) | Cod sursa (job #265517) | Cod sursa (job #89972) | Cod sursa (job #945548)
Cod sursa(job #945548)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream in("carnati.in");
ofstream out("carnati.out");
const int N = 2005;
struct carnat{
int t,p;
};
carnat v[N];
int n,C,pret,aux,s,smax;
bool cmp(carnat a,carnat b){
return a.t<b.t;
}
int main(){
int i,j;
in>>n>>C;
for(i=1;i<=n;i++) in>>v[i].t>>v[i].p;
sort(&v[1],&v[n+1],cmp);
//for(i=1;i<=n;i++) out<<v[i].t<<' '<<v[i].p<<'\n';
for(i=1;i<=n;i++){
pret=v[i].p;
//out<<" :"<<pret<<'\n';
s=0;
if(v[1].p>=pret) aux=pret;
else aux=0;
s+=aux;
//out<<s<<'\n';
for(j=2;j<=n;j++){
aux=-(v[j].t-v[j-1].t)*C;
s+=aux;
if(s<0) s=0;
//out<<aux<<' ';
if(v[j].p>=pret) aux=pret;
else aux=0;
s+=aux;
//out<<aux<<' ';
//out<<" "<<s<<'\n';
if(s>smax) smax=s;
}
}
out<<smax-C;
return 0;
}