Submission #1306306

#TimeUsernameProblemLanguageResultExecution timeMemory
1306306stephitRotating Lines (APIO25_rotate)C++20
0 / 100
2 ms832 KiB
#include <bits/stdc++.h>
using namespace std;
const int N = 50000;
#define fi first
#define se second

void rotate(std::vector<int> t, int x);

void energy(int n, vector<int> v) {
    vector<pair<int, int>> a;
    for (int i = 0; i < n; i++) a.push_back({v[i], i});
    sort(a.begin(), a.end());

    int cnt = 0, p = 0;
    for (int i = 0; i < n; i++) if (a[i].fi < N/2) cnt++;
    
    if (cnt < n - cnt) 
    {
        for (int i = 0; i < n / 2; i++) {
            rotate({a[i].se}, - a[i].fi + a[i + n / 2].fi - N/2 + N);
        }
    } 
    else
    {
        for (int i = n - 1; i >= n - n / 2; i++) {
            rotate({a[i].se}, - a[i].fi + a[i - n / 2].fi + N/2 + N);
        }
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...