Pagini recente » Cod sursa (job #1649435) | Cod sursa (job #1141385) | Cod sursa (job #1695914) | Cod sursa (job #2865356) | Cod sursa (job #1360656)
#include<fstream>
#include<algorithm>
using namespace std;
struct x2{
int t;
int p;
};
x2 x[2003];
int cmp(x2 x, x2 y){
return x.t<y.t;
}
int n, i, q, pret, s, sal, sol, timp;
ifstream in("carnati.in");
ofstream out("carnati.out");
int main(){
in>>n>>sal;
for(i=1; i<=n; i++)
in>>x[i].t>>x[i].p;
sort(x+1, x+n+1, cmp);
x[0].t=x[1].t;
for(q=1; q<=n; q++){
pret=x[q].p;
s=-99999;
timp=1;
for(i=1; i<=n; i++){
if(s+(x[i].p>=pret?pret:0)-(x[i].t-x[timp].t+1)*sal>=(x[i].p>=pret?pret:0)-(x[i].t-x[timp].t+1)*sal){
if(s<pret)
timp=i;
s+=(x[i].p>=pret?pret:0)/*-(x[i].t-x[i-1].t+1)*sal*/;
}
else{
s=(x[i].p>=pret?pret:0)/*-(x[i].t-x[i-1].t+1)*sal*/;
timp=i;
}
if(s-(x[i].t-x[timp].t+1)*sal>sol)
sol=s-(x[i].t-x[timp].t+1)*sal;
}
}
out<<sol;
return 0;
}