Cod sursa(job #520543)

Utilizator nandoLicker Nandor nando Data 9 ianuarie 2011 13:43:33
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <cstdio>
#include <utility>
#include <algorithm>
using namespace std;

#define MAXN 50005

pair<int, int> v[MAXN];

FILE* fin = fopen ("orase.in", "r");
FILE* fout = fopen ("orase.out", "w");

int main ()
{
	int m, n;
	fscanf (fin, "%d %d\n", &m, &n);
	
	for (int i = 0; i < n; ++i) {
		fscanf (fin, "%d %d\n", &v[i].first, &v[i].second);	
	}
	
	sort (v, v + n);
	int maxj = 0, maxv = 0;
	
	for (int i = 0; i < n; ++i) {
		if (maxj + v[i].first + v[i].second > maxv) {
			maxv = maxj + v[i].first + v[i].second;
		}
		
		if (v[i].second - v[i].first > maxj) {
			maxj = v[i].second - v[i].first;	
		}
	}
	
	fprintf (fout, "%d\n", maxv);
	
	fclose (fin);
	fclose (fout);
	return 0;
}