제출 #1306318

#제출 시각아이디문제언어결과실행 시간메모리
1306318stephitRotating Lines (APIO25_rotate)C++20
100 / 100
35 ms2788 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*2); } } 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*2); } } }
#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...