Cod sursa(job #2622026)

Utilizator RaduVFVintila Radu-Florian RaduVF Data 31 mai 2020 13:00:50
Problema Orase Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>

using namespace std;

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

vector<pair<int, int>> v;

int main() {
	int M, N, D, L;
	fin >> M >> N;
	for (int i = 0; i < N; ++i) {
		fin >> D >> L;
		v.push_back({ D,L });
	}
	sort(v.begin(), v.end(), [&](pair<int, int> a, pair<int, int> b) {
		return a.first < b.first;
	});
	int sum1 = v[0].second - v[0].first, sum2;
	int sum, sumMax = 0;
	for (int i = 1; i < N; ++i) {
		sum = 0;
		sum2 = v[i].second - v[i].first;
		if (sum2 > sum1) {
			sum = v[i].second + v[i].first + sum2;
			sum1 = sum2;
		}
		else {
			sum = v[i].second + v[i].first + sum1;
		}
		if (sum > sumMax) {
			sumMax = sum;
		}
	}
	fout << sumMax;
	fin.close(); fout.close();
	return 0;
}