Pagini recente » Cod sursa (job #1829891) | Cod sursa (job #1603851) | Cod sursa (job #838646) | Cod sursa (job #2810450) | Cod sursa (job #1794200)
#include <stdio.h>
#include <stdlib.h>
#define max(a,b) (((a)>(b))?(a):(b))
int main()
{
int n,m,j,i,max,actual,g;
FILE * fp;
fp = fopen("carnati.in","r");
fscanf(fp,"%i",&n);
fscanf(fp,"%i",&m);
int pret[n];
int h[n];
for(i = 0;i<n;i++)
{
fscanf(fp,"%i",&h[i]);
fscanf(fp,"%i",&pret[i]);
}
for(i = 0;i<n;i++)
{
if(pret[0] >= pret[i])
{
actual = pret[i] - m;
}
else
{
actual = 0;
}
max = 0;
for(j=1;j<n;j++)
{
if(pret[i] <= pret[j])
{
g = pret[i];
}
else
{
g = 0;
}
actual = max(g - m,actual -(h[j] - h[j-1])*m + g);
max = max(actual,max);
}
}
fclose(fp);
fp = fopen("carnati.out","w");
fprintf(fp,"%i",max);
fclose(fp);
return 0;
}