Pagini recente » Cod sursa (job #1315897) | Cod sursa (job #2180397) | Rating Raluca Andrada (RalucaAndrada) | Cod sursa (job #961917) | Cod sursa (job #2076281)
#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=0, sum_max=-INF, i, x=0;
sum-=c;
if(p[1]>=p[poz])
sum+=p[poz];
for(i=2; i<=n; i++) {
if(p[i]>=p[poz])
x=p[poz];
else x=0;
if(sum<0)
sum=x, sum-=c;
else
sum+=x, sum-=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;
}