Cod sursa(job #1787372)

Utilizator danyvsDan Castan danyvs Data 24 octombrie 2016 16:20:33
Problema Orase Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 kb
#include <fstream>
#include <algorithm>

using namespace std;

ifstream fin("orase.in");
ofstream fout("orase.out");

const int NMAX = 50001;

int m, n;
pair < int, int > P[NMAX];

void read()
{
    int i;
    fin >> m >> n;
    for (i = 1; i <= n; ++ i)
        fin >> P[i].first >> P[i].second;
}

inline bool comp(pair < int, int > P1, pair < int, int > P2)
{
    if (P1.first < P2.first)
        return true;
    if (P1.first == P2.first && P1.second < P2.second)
        return true;
    return false;
}

inline int max(int a, int b)
{
    return a > b ? a : b;
}

int dist()
{
    int i, j, d, dmx;
    dmx = 0;
    for (i = 1; i <= n; ++ i)
        for (j = 1; j < i; ++ j)
            {
             d = P[i].first + P[i].second + P[j].second - P[j].first;
             dmx = max(dmx, d);
            }
    return dmx;
}

int main()
{
    read();
    fin.close();
    sort (P + 1, P + n + 1, comp);
    fout << dist() << "\n";
    fout.close();
    return 0;
}