Pagini recente » Borderou de evaluare (job #470369) | Cod sursa (job #2441331) | Cod sursa (job #782869) | Cod sursa (job #1318314) | Cod sursa (job #2941749)
#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;
}