Pagini recente » Cod sursa (job #2901428) | Monitorul de evaluare | Cod sursa (job #2017774) | Cod sursa (job #315062) | Cod sursa (job #2076321)
#include <bits/stdc++.h>
const int NMAX = 2005;
const int INF = 0x7fffffff;
using namespace std;
ifstream fin("carnati.in");
ofstream fout("carnati.out");
int p[NMAX], t[NMAX], n, c;
int solve(int poz) {
int sum=-1, sum_max=-INF, i, x=0;
/*sum-=c;
if(p[1]>=p[poz])
sum+=p[poz];*/
for(i=1; i<=n; i++) {
if(p[i]>=p[poz])
x=p[poz];
else x=0;
if(i==1)
sum=x-c;
else
sum=max(x-c, sum+x-c*(t[i]-t[i-1]));
if(sum>sum_max)
sum_max=sum;
}
return sum_max;
}
int main() {
int i, maxim=0;
fin>>n>>c;
for(i=1; i<=n; i++)
fin>>t[i]>>p[i];
for(i=1; i<=n; i++)
maxim=max(solve(i), maxim);
fout<<maxim<<'\n';
return 0;
}