Submission #1304936

#TimeUsernameProblemLanguageResultExecution timeMemory
1304936thegodbridgexdRotating Lines (APIO25_rotate)C++20
5 / 100
3095 ms1600 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define ull unsigned long long #define matrix vector<vector<int>> #define fi first #define se second #define BIG __int128 #define wtf pair<int,int> #define db long double #define filename "input" const int N = 50000; int n, a[N], b[N]; //MAIN void rotate(std::vector<int> t, int x); bool cmp(int i, int j){ return a[i] < a[j]; } ll tinh(){ ll kq = 0; for (int i = 0; i < n; i++) for (int j = i + 1; j < n; j++){ int c = abs(a[i] - a[j]); kq += min(c, N - c); } return kq; } void energy(int nigga, vector<int> vienna){ n = nigga; for (int i = 0; i < n; i++) a[i] = vienna[i], b[i] = i; sort(b, b + n, cmp); int mid = n / 2; for (int i = 0; i < mid; i++) if (a[b[i]] >= N / 2){ rotate({b[i]}, (N / 2 - 1) - a[b[i]] + 2 * N); a[b[i]] = N / 2 - 1; } for (int i = n - 1; i >= mid; i--) if (a[b[i]] < N / 2){ rotate({b[i]}, N / 2 - a[b[i]]); a[b[i]] = N / 2; } ll last = tinh(); while (true){ bool check = true; for (int i = 0; i < mid; i++){ int old = a[b[i]]; a[b[i]] = N / 4; ll tmp = tinh(); if (tmp > last){ rotate({b[i]}, N / 4 - old + 2 * N); last = tmp; check = false; } else a[b[i]] = old; } for (int i = mid; i < n; i++){ int old = a[b[i]]; a[b[i]] = N / 2 + N / 4; ll tmp = tinh(); if (tmp > last){ rotate({b[i]}, N / 2 + N / 4 - old + 2 * N); last = tmp; check = false; } else a[b[i]] = old; } if (check) break; } }
#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...