Cod sursa(job #1166903)

Utilizator cristinamateiCristina Matei cristinamatei Data 3 aprilie 2014 22:32:16
Problema Orase Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <fstream>

using namespace std;

struct pereche
{
    int d,l;
};
pereche a[50000];

int main()
{
    ifstream in("orase.in");
    ofstream out("orase.out");
    int n, m, i, max, min, poz1, poz2, s;
    in >> m >> n;
    for ( i = 1; i <= n; i++ )
    {
        in >> a[i].d >> a[i].l;
    }
    max = a[1].l;
    min = a[2].l;
    poz1 = 1;
    poz2 = 2;
    if ( max < min )
        {
            swap ( max, min );
            swap ( poz1, poz2 );
        }
    for ( i = 2; i <= n; i++ )
    {
        if ( a[i].d + a[i].l > a[poz2].l )
        {
            min = a[i].l;
            poz2 = i;
        }
        if ( max < min )
        {
            swap ( max, min );
            swap ( poz1, poz2 );
        }
    }
    if ( a[poz1].d > a[poz2].d )
        s = a[poz1].d - a[poz2].d;
    else s = a[poz2].d - a[poz1].d;
    out << max + min + s;
    return 0;
}