Pagini recente » Cod sursa (job #1811919) | Cod sursa (job #3138079) | Cod sursa (job #276529) | Cod sursa (job #666798) | Cod sursa (job #2200080)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in ("carnati.in");
ofstream out ("carnati.out");
int n,cost,pret[2005],timp[1507],sumpartz[1507],MAXIM;
int sumax (int a[])
{
int s,smax,i;
s=smax=a[0];
for (i=1;i<1501;++i)
{
if (s<0) s=a[i];
else s+=a[i];
if (s>smax) smax=s;
}
return smax;
}
int main()
{
int i,j;
in>>n>>cost;
//cout<<"n = "<<n<<"\n";
for (i=1;i<=n;++i)
in>>timp[i]>>pret[i];
for (j=0;j<=1500;++j)
sumpartz[j] = -cost;
for (i=1;i<=n;++i)
{
int pretcrt=pret[i];
//cout<<"pretcrt = "<<pretcrt<<"\n";
for (j=1;j<=n;++j)
{
//cout<<"pret["<<j<<"] = "<<pret[j]<<"\n";
if (pretcrt<=pret[j])
sumpartz[timp[j]]=pretcrt-cost;
else
sumpartz[timp[j]] = -cost;
}
//for(j=0; j<=9; ++j) cout<<sumpartz[j]<<" "; cout<<"\n";
int s = sumax(sumpartz);
//cout<<"s = "<<s<<"\n";
MAXIM=max(MAXIM,s);
}
out<<MAXIM;
return 0;
}