Pagini recente » Cod sursa (job #492244) | Cod sursa (job #1585603) | Cod sursa (job #2028799) | Cod sursa (job #2217197) | Cod sursa (job #2815708)
#include <fstream>
#include <algorithm>
using namespace std;
const int N = 1e6;
pair <int, int> v[N];
int distanta(pair <int, int> a, pair <int, int> b)
{
return b.first - a.first + a.second + b.second;
}
int main()
{
ifstream in("orase.in");
ofstream out("orase.out");
int n, m, dc, dmax;
in >> m >> n;
for (int i = 0; i < n; i++)
{
in >> v[i].first >> v[i].second;
}
sort(v, v + n);
dmax = dc = distanta(v[0], v[1]);
for (int 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)
{
dmax = dc;
}
}
out << dmax;
in.close();
out.close();
return 0;
}