Cod sursa(job #2929028)

Utilizator lucafecheteFechete Luca Andrei lucafechete Data 24 octombrie 2022 14:31:27
Problema Heavy metal Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <iostream>
#include <fstream>

using namespace std;

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

struct concert {
	int beg;
	int end;
}v[100000];

int main()
{
	int n;
	fin >> n;
	for (int i{ 1 }; i <= n; i++)
		fin >> v[i].beg >> v[i].end;
	for (int i{ 1 }; i <= n - 1; i++)
		for (int j{ i + 1 }; j <= n; j++)
			if (v[i].end > v[j].end)
			{
				concert aux = v[i];
				v[i] = v[j];
				v[j] = aux;
			}
	v[0].beg = 0, v[0].end = 0;
	int poz = 0, sum = 0, prev = 0;
	for (int i{ 1 }; i <= n; i++)
		if (v[i].beg >= v[poz].end)
		{
			sum += (v[i].end - v[i].beg);
			prev = poz;
			poz = i;
		}
		else if (v[i].beg >= v[prev].end && (v[i].end - v[i].beg) > (v[poz].end - v[poz].beg))
		{
			sum += ((v[i].end - v[i].beg) - (v[poz].end - v[poz].beg));
			poz = i;
		}
	fout << sum;
	return 0;
}