Cod sursa(job #1378146)

Utilizator TudorFinaruTudor Cristian Finaru TudorFinaru Data 6 martie 2015 10:43:51
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f("orase.in");
ofstream g("orase.out");

int m,n;
struct oras{int d,l;}o[50001];

bool cond(oras a,oras b)
{
    return a.d<b.d || a.d==b.d && a.l<b.l;
}

int distanta(int i,int j)
{
    int rez=o[i].l+o[j].l+o[j].d-o[i].d;
    return rez;
}

int main()
{
    f>>m>>n; int i,j,maxi=0;
    for(i=1;i<=n;i++)
        f>>o[i].d>>o[i].l;
    sort(o+1,o+n+1,cond);
    j=1;
    for(i=2;i<=n;i++)
    {
        if(distanta(j,i)<distanta(i-1,i))
            j=i-1;
        maxi=max(maxi,distanta(j,i));
    }
    g<<maxi<<'\n';
    f.close();
    g.close();
    return 0;
}