제출 #1278750

#제출 시각아이디문제언어결과실행 시간메모리
1278750friendiksArt Collections (BOI22_art)C++20
0 / 100
0 ms332 KiB
#ifndef LOCAL #pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") #pragma GCC diagnostic ignored "-Wpedantic" #endif #include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> #ifndef LOCAL #include "art.h" #endif using namespace std; using namespace __gnu_pbds; auto seed = chrono::high_resolution_clock::now().time_since_epoch().count(); mt19937 rnd(seed); template<typename T> using ordered_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>; template<typename T, typename V> using table = gp_hash_table<T, V>; using i128 = __int128; using ll = long long; using ld = long double; using uint = unsigned int; using ull = unsigned long long; const ll INF = 1e18; const int inf = 2e9; const int maxk = 140; const int MOD = 1e9 + 7; const double pi = acos(-1); const int P = 5167; const int L = 26; const ld EPS = 1e-7; const int W = 3; const int MBIT = 18; const int maxn = 1e7 + 7; const int B = 550; template<typename T, typename V> void fill(T &container, V value) { for (auto &c : container) c = value; } vector<int> VALS = {3, 1, 2}; #ifdef LOCAL int publish(vector<int> A) { int ans = 0; for (int i = 0; i < A.size(); ++i) { for (int j = i + 1; j < A.size(); ++j) { if (VALS[A[i] - 1] < VALS[A[j] - 1]) ans++; } } return ans; } void answer(vector<int> ANS) { for (auto c : ANS) cout << c << " "; } #endif void solve(int n) { vector<int> pub(n); for (int i = 0; i < n; ++i) { vector<int> A; for (int j = i; j < n; ++j) A.push_back(j); for (int j = 0; j < i; ++j) A.push_back(j); pub[i] = publish(A); } vector<int> val(n); for (int i = 0; i < n; ++i) { val[(i + 1) % n] = (pub[(i + 1) % n] - pub[i] + n + 1) / 2; } vector<int> ans(n); for (int i = 0; i < n; ++i) ans[val[i] - 1] = i + 1; answer(ans); } #ifdef LOCAL signed main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); cout << fixed << setprecision(9); #ifdef LOCAL freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout); #endif int t = 1; //cin >> t; while (t--) solve(VALS.size()); //stress(); #ifdef LOCAL cout << "\n\n\n=====================================================\nProgram worked for: "; cout << (ld) clock() / CLOCKS_PER_SEC << "s"; #endif } #endif
#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...