Cod sursa(job #2700586)

Utilizator AndreiStreheStreche Andrei Claudiu AndreiStrehe Data 28 ianuarie 2021 10:28:01
Problema Orase Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.01 kb
#include <fstream>
#include <algorithm>

using namespace std;

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

    struct strazi
    {
        int distanta,lungime;
    }v[50005];

    bool dsl(strazi x, strazi y)
    {
        if(x.distanta!=y.distanta)
        {
            return x.distanta<y.distanta;
        }
        else
        {
            return x.lungime<y.lungime;
        }
    }

int m,n,i,ceamaimaredistanta,lungime1,distanta1;

int main()
{
    f>>m>>n;

    for(i=1;i<=n;i++)
    {
        f>>v[i].distanta>>v[i].lungime;
    }

    sort(v+1, v+n+1, dsl);

    for(i=1;i<=n;i++)
    {
        if(v[i].distanta+v[i].lungime+lungime1-distanta1>ceamaimaredistanta)
        {
            ceamaimaredistanta=v[i].distanta+v[i].lungime+lungime1-distanta1;
        }
        if(v[i].lungime>v[i].distanta+lungime1-distanta1)
        {
            lungime1=v[i].lungime;
            distanta1=v[i].distanta;
        }
    }

    g<<ceamaimaredistanta;

    return 0;
}