Cod sursa(job #442919)

Utilizator SpiderManSimoiu Robert SpiderMan Data 15 aprilie 2010 17:54:54
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>
using namespace std;

#define MAX 50005

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

struct vector
{
    int D,L;
}V[MAX],maxi;

struct comp
{
    bool operator () (const vector& lhs , const vector& rhs)
    {
        if (lhs.D == rhs.D)
            return lhs.L < rhs.L;

        return lhs.D < rhs.D;
    }
};
int M, N, i, rez;

int main()
{
    f >> M >> N;
    for (i = 1; i <= N; i++)
       f >> V[i].D >> V[i].L;
    sort(V + 1,V + N + 1,comp());
    maxi.D = V[1].D, maxi.L = V[1].L;
    for (i = 2; i <= N; i++)
    {
       int part = V[i].L + V[i].D + maxi.L - maxi.D;
       if (part > rez) rez = part;
       if (V[i].L - V[i].D > maxi.L - maxi.D) maxi.L = V[i].L, maxi.D = V[i].D;
    }
    g << rez;
    return 0;
}