Cod sursa(job #1818458)

Utilizator paulstepanovStepanov Paul paulstepanov Data 29 noiembrie 2016 11:49:20
Problema Orase Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("orase.in");
ofstream fout("orase.out");

const int Nmax=50005;
int N,M,Sol;

struct Strada{
int D,L;
};
Strada S[Nmax];

void Read()
{
    fin>>M>>N;
    for(int i=1;i<=N;++i)
        fin>>S[i].D>>S[i].L;
}

bool Compare(Strada S1,Strada S2)
{
    return((S1.D+S1.L)>(S2.D+S2.L));
}

void Print()
{
    int Min;
    Min=min(S[1].D,S[2].D);
    for(int i=1;i<=2;++i)
        Sol+=S[i].D+S[i].L;
    Sol-=2*Min;
    fout<<Sol;
}
void SolveandPrint()
{
    sort(S+1,S+1+N,Compare);
    Print();
}

int main()
{
    Read(); SolveandPrint();
    return 0;
}