Cod sursa(job #3335400)
| Utilizator | Data | 22 ianuarie 2026 16:54:29 | |
|---|---|---|---|
| Problema | Carnati | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.71 kb |
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin("carnati.in");
ofstream cout("carnati.out");
struct ura
{
int t,b;
}v[2001];
bool cmp(ura A, ura B) {
return A.t < B.t;
}
int main()
{
int n,c,i,maxi=-1000000000,s,aux,j;
cin>>n>>c;
for(i=1;i<=n;i++)
cin>>v[i].t>>v[i].b;
sort(v,v+n+1,cmp);
v[0].t=v[1].t;
for(i=1;i<=n;i++)
{
aux=v[i].b;s=0;
for(j=1;j<=n;j++)
{
s=s-(v[j].t-v[j-1].t)*c;
if(s<0)
s=0;
if(v[j].b>=aux)
s=s+v[j].b;
if(s>maxi)
maxi=s;
}
}
cout<<maxi-c;
return 0;
}
