#include "rotate.h"
#include<bits/stdc++.h>
using namespace std;
const int MOD = 5e4;
void energy(int n, vector<int>v){
if(n == 2){
rotate({0}, (v[1] + (MOD >> 1) - v[0] + MOD) % MOD);
return;
}
vector<int>p(n);
iota(p.begin(), p.end(), 0);
sort(p.begin(), p.end(), [&] (int i, int j){
return v[i] < v[j];
});
if(*max_element(v.begin(), v.end()) < (MOD >> 1)){
for(int i = 0; i < (n >> 1); i++){
rotate({p[i]}, MOD - v[p[i]]);
rotate({p[n - i - 1]}, (MOD >> 1) - v[p[n - i - 1]]);
}
return;
}
for(int i = 0; i < (n >> 1); i++){
rotate({p[i]}, (v[p[n - i - 1]] - v[p[i]] + (MOD >> 1)) % MOD);
}
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |