Cod sursa(job #3181397)

Utilizator bajuuuuBajenaru Mihai Catalin Ionut bajuuuu Data 6 decembrie 2023 22:56:13
Problema Heavy metal Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <iostream>
#include <cmath>
#include <vector>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("heavymetal.in");
ofstream out("heavymetal.out");
int main() {
	int n;
	vector<int> a;
	vector<int> b;
	in >> n;
	for (int i = 1; i <= n; i++) {
		int x, y;
		in >> x >> y;
		a.push_back(x);
		b.push_back(y);
	}
	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= n; j++) {
			if ((abs(a[i] - b[i]) > abs(a[j] - b[j])) || (abs(a[i]-b[i]) == abs(a[j]-b[j]) && a[i] > a[j]) || (abs(a[i] - b[i]) == abs(a[j] - b[j]) && a[i] == a[j] && b[i]>b[j])){
				swap(a[i], a[j]);
				swap(b[i], b[j]);
			}
		}
	}
	long long sum = 0;
	int datadeiesire = b[1];
	for (int i = 1; i <= n; i++){
		if (datadeiesire >= b[i]) {
			sum += abs(a[i] - b[i]);
			datadeiesire = a[i];
		}
	}
	out << sum;
}