Pagini recente » Cod sursa (job #3208201) | Cod sursa (job #3038724) | Cod sursa (job #2712840) | Cod sursa (job #1910480) | Cod sursa (job #1773883)
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <algorithm>
using namespace std;
FILE *in,*out;
const int N = 50001;
//pair <int,int> v[N];
struct oras
{
int d, l;
};
oras v[N];
bool cmp(oras x, oras y)
{
return x.d < y.d;
}
int main()
{
in = fopen("orase.in","r");
out = fopen("orase.out","w");
/*for(i = 1;i <= n;i ++)
{
if(d[i] + l[i])
dst = d[i] + l[i];
if(m-d[i] + l[i] >ddr)
ddr = m - d[i] + l[i];
}
//raspuns dst + ddr - m;
//solutie alternativa
*/
int i,n,m,u,dmax,dc;
fscanf(in,"%d %d",&n,&m);
for(i = 0;i < n;i ++)
{
fscanf(in,"%d %d",&v[i].d,&v[i].l);
}
sort(v, v+n, cmp);
u = 0;
dmax = -1000000000;
for(i = 1; i < n; i++)
{
dc = v[i].d - v[u].d + v[i].l + v[u].l;
if(dc > dmax) dmax = dc;
if(v[i].l > v[i].d - v[u].d + v[u].l)
u = i;
}
fprintf(out,"%d",dmax);
return 0;
}