Pagini recente » Cod sursa (job #2664132) | Cod sursa (job #427793) | Cod sursa (job #416910) | Cod sursa (job #2192339) | Cod sursa (job #2706364)
#include <fstream>
#include <algorithm>
using namespace std;
struct elem{
int t,p;
};
elem v[1500];
int main()
{
ifstream cin("carnati.in");
ofstream cout("carnati.out");
int n,c,nrc,profm=-1,inc,sfaf,sfa,incf,i,contor,pret,profmm=-1,maxp=0;
cin>>n>>c;
for(i=1;i<=n;i++){
cin>>v[i].t>>v[i].p;
if(v[i].p>maxp)
maxp=v[i].p;
}
for(pret=1;pret<=maxp;pret++){
inc=1;
nrc=0;
sfa=0;
incf=1;
profm=-1;
for(i=1;i<=n;i++){
sfa=v[i].t;
if(nrc*pret-(sfa-incf+1)*c<=0){
inc=v[i].t;
nrc=0;
}
if(v[i].p>=pret)
nrc++;
if(nrc*pret-(sfa-incf+1)*c>profm){
sfaf=v[i].t;
incf=inc;
profm=nrc*pret-(sfa-incf+1)*c;
}
}
if(profm>profmm)
profmm=profm;
}
cout<<profmm;
return 0;
}