Cod sursa(job #2774166)

Utilizator nubnubMeh Neh nubnub Data 9 septembrie 2021 23:50:39
Problema Orase Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("orase.in");
ofstream g("orase.out");

struct str
{
    int d1,d2;
}a[50005];
int n,m,sol,solf=0;

void citire()
{
    f>>m>>n;
    for(int i=1;i<=n;i++) f>>a[i].d1>>a[i].d2;

}
bool comp(str x, str y)
{
    return (x.d1<y.d1);
}
void solve()
{
    sort(a+1,a+n+1,comp);
    sol=1;//b[2]=a[2].d1-a[1].d1+a[1].d2+a[2].d2;
    for(int i=3;i<=n;i++)
    {
        if(a[i].d1-a[sol].d1+a[i].d2+a[sol].d2<a[i].d1-a[i-1].d1+a[i].d2+a[i-1].d2)
        {
            solf=max(solf,a[i].d1-a[i-1].d1+a[i].d2+a[i-1].d2);
            sol=i-1;
        }
        else
        {
            solf=max(solf,a[i].d1-a[sol].d1+a[i].d2+a[sol].d2);
        }
    }

}

int main()
{
    citire();
    solve();
    g<<solf;
    return 0;
}