Cod sursa(job #2941749)

Utilizator alexlazuLazureanu Alexandru Ioan alexlazu Data 18 noiembrie 2022 11:07:41
Problema Heavy metal Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.1 kb
#include <fstream>

#include <iostream>

using namespace std;

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

int pair1[100001] , pair2[100001];

int main()
{
	int n , i , j , suma=0;
	in >> n;
	for (i = 1; i <= n; i++)
		in >> pair1[i] >> pair2[i];
	for (i = 1; i <= n; i++)
		for (j = i + 1; j <= n; j++)
			if (pair1[i] > pair1[j]) {
				swap(pair1[i], pair1[j]);
				swap(pair2[i], pair2[j]);
			}
			else if (pair1[i] == pair1[j] && pair2[i] > pair2[j]) {
				swap(pair1[i], pair1[j]);
				swap(pair2[i], pair2[j]);
			}
	for (i = 1; i <= n; i++)
		if (pair2[i] >= pair1[i + 1] && pair2[i] <= pair2[i + 1]) {
			if (pair2[i] - pair1[i] > pair2[i + 1] - pair1[i + 1])
				suma += pair2[i] - pair1[i++];
			else if (pair2[i + 1] - pair1[i + 1] >= pair2[i] - pair1[i]) {
				suma += pair2[i + 1] - pair1[i + 1];
				i++;
			}
		}
		else if (pair2[i] >= pair2[i + 1])
			suma += pair2[i] - pair1[i++];
		else if (pair2[i] <= pair1[i + 1])
			suma += pair2[i] - pair1[i];
	for (i = 1; i <= n; i++)
		cout << pair1[i] << " " << pair2[i] << endl;
	out << endl  << suma;
}