Pagini recente » Cod sursa (job #2645654) | Cod sursa (job #309511) | Cod sursa (job #58458) | Cod sursa (job #2537011) | Cod sursa (job #2698756)
#include <stdio.h>
#include <stdlib.h>
#define PMAX 1000000
int o[2000],p[2000],f[PMAX + 1];
int main(){
int n,i,j,k,c,max,s;
FILE *fin, *fout;
fin=fopen("carnati.in","r");
fscanf(fin,"%d%d",&n,&c);
for(i=0;i<n;i++){
fscanf(fin,"%d%d",&o[i],&p[i]);
f[p[i]]++;
}
fclose(fin);
max=0;
for(i=0;i<PMAX;i++){ ///Ciclam prin toate preturile posibile
if(f[i]>0){
s=0;
if(p[j]>i)
s+=i;
for(j=1;j<n;j++){
s-=c*(o[j]-o[j-1]); ///Scadem intretinerea vanzatorului
///Daca sirul de pana acum a fost profitabli (profitul e pozitiv) mai adaugam la sirul precedent
///Daca nu, pornim un nou sir si resetam s-ul
if(s<0)
s=0;
if(p[j]>=i)
s+=i;
if(s>max)
max=s;
}
}
}
fout=fopen("carnati.out","w");
fprintf(fout,"%d\n",max-13);
fclose(fout);
return 0;
}