Pagini recente » Cod sursa (job #2598111) | Cod sursa (job #1847508) | Cod sursa (job #1847004) | Cod sursa (job #2598156) | Cod sursa (job #3261113)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin("carnati.in");
ofstream cout("carnati.out");
struct{
int poz,p;
}v[2020];
int c,n,client[1520],pozmax;
int check()
{
int maxi = -1e9;
int sum = -1e9;
for(int i=0; i<=pozmax; i++)
{
if(sum < 0)
sum=0;
sum+=client[i];
maxi = max(maxi,sum);
}
return maxi;
}
int main()
{
int rsp=-1e9;
cin>>n>>c;
for(int i=1; i<=n; i++)
cin>>v[i].poz>>v[i].p,pozmax = max(pozmax,v[i].poz);
for(int i=1; i<=n; i++)
{
fill(client,client+1+pozmax,-1*c);
for(int j=1; j<=n; j++)
if(v[i].p <= v[j].p)
client[v[j].poz]+=v[i].p;
rsp = max(rsp,check());
}
cout<<rsp;
return 0;
}