Pagini recente » Cod sursa (job #935848) | Cod sursa (job #258145) | Cod sursa (job #2012882) | Cod sursa (job #67074) | Cod sursa (job #1818458)
#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;
}