Cod sursa(job #1574222)

Utilizator andrei-sasAndrei Sas-Miresan andrei-sas Data 20 ianuarie 2016 12:49:39
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <fstream>
#include <algorithm>

using namespace std;

ifstream f("orase.in");
ofstream g("orase.out");

int dif(int a, int b)
{
    if(a>b)
        return a-b;
    return b-a;
}

struct oras
{
    int d,l,s;
};

int ordo(oras a, oras b)
{
    return a.s>b.s;
}

int n,m,i,j,maxi,s;
oras O[50001];
int main()
{
    f>>m>>n;
    for(i=1;i<=n;i++)
    {
        f>>O[i].d>>O[i].l;
        O[i].s=O[i].d+O[i].l;
    }
    sort(O+1,O+n+1,ordo);
    for(i=2;i<=n;i++)
    {
        O[i].s=dif(O[i].d,O[1].d)+O[i].l;
    }
    sort(O+2,O+n+1,ordo);
    /*for(i=1;i<=n;i++)
    {
        g<<O[i].d<<" "<<O[i].l<<" "<<O[i].s<<'\n';
    }*/
    /*for(i=1;i<n;i++)
        for(j=i+1;j<=n;j++)
        {
            s=O[i].l+O[j].l+dif(O[i].d,O[j].d);
            if(s>maxi)
                maxi=s;
        }*/
    maxi=O[2].s+O[1].l;
    g<<maxi;
    f.close();
    g.close();
    return 0;
}