Submission #1204863

#TimeUsernameProblemLanguageResultExecution timeMemory
1204863windowwifeRotating Lines (APIO25_rotate)C++20
100 / 100
34 ms3308 KiB
#ifndef rtgsp #include "rotate.h" #endif // rtgsp #include<bits/stdc++.h> #define ll long long #define task "" using namespace std; const int maxn = 1e6 + 4; int n; vector<int> og; vector<pair<int, int>> v; #ifdef rtgsp ll cost () { ll res = 0; for (int i = 0; i < n - 1; i++) for (int j = i + 1; j < n; j++) res += min(abs(og[i] - og[j]), 50000 - abs(og[i] - og[j])); return res; } void rotate (vector<int> t, int x) { ll prev_cost = cost(); for (int i : t) og[i] = (og[i] + x) % 50000; ll cur_cost = cost(); assert(prev_cost <= cur_cost); } #endif // rtgsp void energy (int N, vector<int> V) { n = N; og = V; for (int i = 0; i < n; i++) v.push_back({V[i], i}); sort(v.begin(), v.end()); for (int i = 0; i < n/2 ; i++) rotate({v[i + n/2].second}, (v[i].first + 25000 - v[i + n/2].first + 50000) % 50000); } #ifdef rtgsp int main () { //freopen(task".INP", "r", stdin); //freopen(task".OUT", "w", stdout); ios_base::sync_with_stdio(0); cin.tie(0); int N, x; vector<int> V; V.clear(); cin >> N; for (int i = 0; i < N; i++) { cin >> x; V.push_back(x); } energy(N, V); } #endif // rtgsp
#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...