#include <bits/stdc++.h>
#include "rotate.h"
using namespace std;
void energy(int n, std::vector<int> v) {
vector<int> idx(n);
iota(idx.begin(), idx.end(), 0);
sort(idx.begin(), idx.end(), [&](int a, int b){
return v[a] < v[b];
});
vector<int> A;
A.push_back(idx[0]);
int cur = v[idx[0]];
for (int i = 1; i < n; i++) {
int id = idx[i];
int x = v[id];
int delta = (x - cur + 50000) % 50000;
if (delta != 0) {
rotate(A, delta);
cur = x;
}
A.push_back(id);
}
vector<int> B;
vector<int> A2;
for (int i = 0; i < n; i++) {
if (i < n/2) A2.push_back(idx[i]);
else B.push_back(idx[i]);
}
int target = (cur + 25000) % 50000;
int delta = (target - cur + 50000) % 50000;
if (delta != 0 && !B.empty()) {
rotate(B, delta);
}
}