Cod sursa(job #2334500)

Utilizator Stefan_PiscuPiscu Stefan Constantin Stefan_Piscu Data 2 februarie 2019 17:57:39
Problema Orase Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <fstream>
#include <cmath>
using namespace std;

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

struct oras{
                int d, l;
           }v[500005], maxi, maxi2;

int n, m, imax;

int main()
{
    fin>>m>>n;
    for(int i=1;i<=n;++i)
    {
        fin>>v[i].d>>v[i].l;
        if(v[i].d+v[i].l>maxi.d+maxi.l) maxi=v[i], imax=i;
    }
    maxi2=v[1];
    for(int i=2;i<imax;++i)
        if(v[i].l+maxi.l+abs(maxi.d-v[i].d)>maxi2.l+maxi.l+abs(maxi.d-maxi2.d)) maxi2=v[i];
    for(int i=imax+1;i<=n;++i)
        if(v[i].l+maxi.l+abs(maxi.d-v[i].d)>maxi2.l+maxi.l+abs(maxi.d-maxi2.d)) maxi2=v[i];
    //fout<<maxi2.d<<" "<<maxi2.l<<" "<<maxi.d<<" "<<maxi.l<<"\n";
    if(maxi2.d>maxi.d) fout<<maxi2.l+maxi.l-maxi.d+maxi2.d;
    else fout<<maxi2.l+maxi.l+maxi.d-maxi2.d;
    fout<<"\n";
    return 0;
}