Cod sursa(job #1404382)

Utilizator raduzxstefanescu radu raduzx Data 28 martie 2015 02:07:20
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.05 kb
#include <fstream>
#include <cmath>
#include <algorithm>
using namespace std;
struct orase
{
    int di,li;
};
orase v[50001];

bool cmp(orase a,orase b)
{
    if(a.di<b.di)
        return true;
    if(a.di==b.di)
        if(a.li<b.li)
            return true;
        else
            return false;
    else

        return false;
}

int main()
{
    ifstream f("orase.in");
    ofstream g("orase.out");
    int m,n,i,maxim=-2000000000,maxim2=-2000000000,poz,c;
    f>>m;
    f>>n;
    for(i=1;i<=n;i++)
    {
        f>>v[i].di;
        f>>v[i].li;
    }
    sort(v+1,v+n+1,cmp);
    for(i=1;i<=n;i++)
    {
        c=v[i].di;
        v[i].di=v[i].li-v[i].di;
        v[i].li+=c;
        if(v[i].di>maxim)
        {
            maxim=v[i].di;
            poz=i;
        }
    }
    for(i=1;i<poz;i++)
    {
        if(maxim2<v[i].li)
            maxim2=v[i].li;
    }
    for(i=poz+1;i<=n;i++)
         if(maxim2<v[i].li)
            maxim2=v[i].li;
    g<<maxim+maxim2;
    f.close();
    g.close();
    return 0;
}