Pagini recente » Cod sursa (job #1050632) | Cod sursa (job #1513220) | Cod sursa (job #1394403) | Cod sursa (job #1423506) | Cod sursa (job #2815707)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("orase.in");
ofstream out("orase.out");
pair<int, int> v[1000000];
int distanta(pair<int, int> a, pair<int, int> b)
{
return b.first-a.first+a.second+b.second;
}
int main()
{
int n, m, dc, dmax, i;
in>>m>>n;
for(i=0; i<n; ++i)
in>>v[i].first>>v[i].second;
sort(v, v+n);
dc=dmax=distanta(v[0], v[1]);
for(i=2; i<n; ++i){
dc+=(v[i].first-v[i-1].first)+(v[i].second-v[i-1].second);
if(distanta(v[i-1], v[i])>dc)
dc=distanta(v[i-1], v[i]);
if(dc>dmax)
dc=dmax;
}
out<<dmax;
return 0;
}