Cod sursa(job #1016157)

Utilizator poptibiPop Tiberiu poptibi Data 25 octombrie 2013 20:50:25
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <cstdio>
#include <algorithm>
using namespace std;

const int NMAX = 50005;

int M, N, Ans, Max;
pair<int, int> V[NMAX];

int main()
{
    freopen("orase.in", "r", stdin);
    freopen("orase.out", "w", stdout);
    
    scanf("%i %i", &M, &N);
    for(int i = 1; i <= N; ++ i)
        scanf("%i %i", &V[i].first, &V[i].second);
    
    sort(V + 1, V + N + 1);
    
    Max = V[1].second - V[1].first;
    Ans = V[2].first + V[2].second + Max;
    for(int i = 3; i <= N; ++ i)
    {
        Max = max(Max, V[i - 1].second - V[i - 1].first);
        Ans = max(Ans, V[i].first + V[i].second + Max);
    }
    
    printf("%i\n", Ans);
}