Pagini recente » Cod sursa (job #1971374) | Cod sursa (job #610394) | Cod sursa (job #2335861) | Istoria paginii utilizator/procoder | Cod sursa (job #3324266)
#include <fstream>
using namespace std;
ifstream cin("carnati.in");
ofstream cout("carnati.out");
int v[1501];
int main()
{
int n,n2,c,k,maxx=0,s,t,p,inc;
cin>>n>>c;
for(n2=1;n2<=n;n2++) {
cin>>t>>p;
if(v[t]==0)
v[t]=p;
else
v[t]=min(v[t],p);
}
/* for(n2=1;n2<=1500;n2++) {
v[n2]+=v[n2-1];
}*/
s=0;
p=-1;
inc=0;
for(n2=0;n2<=1500;n2++) {
if(s*p-(n2-inc+1)*c<0) {
s=0;
inc=n2;
}
if(v[n2]>0) {
s++;
if(p==-1)
p=v[n2];
else
p=min(p,v[n2]);
}
if(s*p-(n2-inc+1)*c>maxx)
maxx=s*p-(n2-inc+1)*c;
}
cout<<maxx;
return 0;
}