Cod sursa(job #485439)

Utilizator darrenRares Buhai darren Data 18 septembrie 2010 12:39:58
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <fstream>
#include <algorithm>
#include <utility>

using namespace std;

const int INF = 1 << 30;

int n, m;
pair<int, int> v[1000002];
int res = -INF;

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

	fin >> m >> n;
	for (int i = 1; i <= n; ++i)
		fin >> v[i].first >> v[i].second;
	sort(v + 1, v + n + 1);

	int mx = v[1].second - v[1].first;
	for (int i = 2; i <= n; ++i)
	{
		if (v[i].first + v[i].second + mx > res)
			res = v[i].first + v[i].second + mx;
		mx = max(mx, v[i].second - v[i].first);
	}

	fout << res;

	fin.close();
	fout.close();
}