Pagini recente » Cod sursa (job #1570982) | Cod sursa (job #1640147) | Cod sursa (job #2754944) | Cod sursa (job #699469) | Cod sursa (job #2208082)
#include <fstream>
#include <algorithm>
using namespace std;
long long n,c,i,j,tmax,mini,maxi,w[2000];
struct vec{long long p,t;}v[2005];
bool comp(vec A, vec B)
{
return A.p<B.p;
}
int main()
{
ifstream f("carnati.in");
ofstream g("carnati.out");
f>>n>>c;
for(i=1; i<=n; i++)
{
f>>v[i].t>>v[i].p;
if(tmax<v[i].t) tmax=v[i].t;
}
sort(v+1, v+n+1, comp);
for(i=1; i<=n; i++)
{
for(j=0; j<=tmax; j++) w[j]=-c;
for(j=i; j<=n; j++)
{
w[v[j].t]+=v[i].p;
}
mini=w[0];
for(j=1; j<=tmax; j++)
{
w[j]+=w[j-1];
if(mini>w[j]) mini=w[j];
if(maxi<w[j]-mini) maxi=w[j]-mini;
}
}
g<<maxi<<'\n';
f.close(); g.close();
return 0;
}