Cod sursa(job #3122348)

Utilizator Gabriel_DascalescuGabriel Dascalescu Gabriel_Dascalescu Data 18 aprilie 2023 17:06:26
Problema Orase Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <fstream>
#include <algorithm>
#define nmax 50005

using namespace std;

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

struct turn
{
    int distanta, inaltime;
};

bool cmp(turn a, turn b)
{
    if( a.distanta == b.distanta)
        return a.inaltime < b.inaltime;
    return a.distanta<b.distanta;
}

int absolutevdk(int a, int b)
{
    if(a-b < 0)
        return (-1*(a-b));
    else
        return (a-b);
}

int max(int a, int b)
{
    if(a >= b)
        return a;
    else
        return b;
}

int n, m, maxim, stanga;

turn v[nmax];

int main() {
    in>>m>>n;
    for(int i=1; i<=n; i++)
    {
        in >> v[i].distanta >> v[i].inaltime;
    }
    sort(v+1, v+n+1, cmp);
    stanga = v[1].distanta;
    maxim += v[1].distanta + v[1].inaltime;
    for(int i=2; i<=n; i++)
    {
        stanga = max(stanga,   v[i].inaltime + v[1].distanta- v[i].distanta);
        maxim = max(maxim, stanga + v[i].inaltime + v[i].distanta- v[1].distanta );
    }
    out<<maxim;
    return 0;
}