Cod sursa(job #1308455)

Utilizator Vlad_317Vlad Panait Vlad_317 Data 4 ianuarie 2015 02:51:46
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <stdio.h>
#include <algorithm>
using namespace std;

#define MAX 50000

struct orase
{
    int d;
    int l;

}v[MAX+1];

bool cmp (orase a, orase b)
{
    return a.d<b.d;
}

int main()
{
    FILE *fin,*fout;

    fin=fopen("orase.in","r");
    fout=fopen("orase.out","w");

    int n,m,i;

    fscanf(fin,"%d%d",&m,&n);

    for(i=1;i<=n;i++)
        fscanf(fin,"%d%d",&v[i].d,&v[i].l);

    sort(v+1,v+n+1,cmp);

    int j=1;
    long long max=v[1].d+v[1].l,tmp=0;

    for(i=3;i<=n;i++)
    {
        tmp=v[i].d-v[j].d + v[i].l+v[j].l;
        if(tmp > max)
            max=tmp;
        if(v[i].l > - v[j].d + v[i].d + v[j].l)
            j=i;
    }

    fprintf(fout,"%d", max);

    return 0;
}