Cod sursa(job #357655)

Utilizator Addy.Adrian Draghici Addy. Data 19 octombrie 2009 23:53:20
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <stdio.h>
#include <algorithm>
#define Nmax 50002

using namespace std;

struct strada {
	int D; int L;
};

int cmp(strada x, strada y) {
	return x.D < y.D;
}

strada v[Nmax];
int n, m, i, sol;

int main() {
	
	FILE *f = fopen("orase.in", "r");
	FILE *g = fopen("orase.out", "w");

	fscanf(f, "%d %d", &m, &n);
	
	for (i = 1; i <= n; i++)
		fscanf(f, "%d %d", &v[i].D, &v[i].L);
	
	sort(v+1, v+1+n, cmp);
	
	int max = v[1].L - v[1].D;
	
	for (i = 2; i <= n; i++) {
		if (v[i].L + v[i].D + max > sol)
			sol = v[i].L + v[i].D + max;
		
		if (v[i].L - v[i].D > max)
			max = v[i].L - v[i].D;
	}
	
	fprintf(g, "%d", sol);
	
	fclose(f);
	fclose(g);
	
	return 0;
}