Cod sursa(job #2815684)

Utilizator lolismekAlex Jerpelea lolismek Data 10 decembrie 2021 08:33:18
Problema Orase Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <iostream>
#include <fstream>
#include <algorithm>

using namespace std;

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

const int N = 5 * 1e4 + 1;
pair <int, int> v[N];

int main() {
	int n, m;
	fin >> m >> n;
	for (int i = 0; i < n; i++) fin >> v[i].first >> v[i].second;
	sort(v, v + n);
	/// caut Lj - j de valoare maxima, uitandu-ma numai in stanga
	int max_dist = -1e9, max_dif = v[0].second - v[0].first, maxj = 0;
	for (int i = 1; i < n; i++) {
		max_dist = max(max_dist, v[i].second + v[maxj].second + v[i].first - v[maxj].first);
		if (v[i].second - v[i].first > max_dif) { 
			max_dif = v[i].second - v[i].first;
			maxj = i;
		}
	}
	fout << max_dist;
 	return 0;
}