# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
590147 | fabijan_cikac | Art Collections (BOI22_art) | C++17 | 3045 ms | 208 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
#include "art.h"
const int MAXN = 4010;
/*int publish(vector<int> v){
cout << "u: ";
for (int i = 0; i < v.size(); ++i)
cout << v[i] << ' ';
cout << endl;
int x; cin >> x; return x;
}
void answer(vector<int> v){
for (int i = 0; i < v.size(); ++i) cout << v[i] << ' ';
}*/
int l[MAXN]; int bio[MAXN] = { 0 };
void solve(int N){
vector<int> sol; vector<int> v; vector<int> sol2;
for (int i = 1; i <= N; ++i)
v.push_back(i);
for (int i = 0; i < N; ++i){
l[i] = publish(v); reverse(v.begin(), v.end());
v.pop_back(); reverse(v.begin(), v.end()); v.push_back(i + 1);
}
int num = 0;
for (int i = 0; i < N - 1; ++i){
int x = 0; /*cout << "a: ";
for (int j = 0; j < N; ++j){
cout << l[j] << ' ';
}*/
//cout << endl;
while (l[(x + 1) % N] - l[x] != N - i - 1) ++x;
//cout << ':' << x << endl;
bio[x] = 1;
if (l[(x + 1) % N] - l[x] != N - i - 1)
sol2.push_back(x + 1);
else sol.push_back(x + 1);
int add = -1;
if (l[(x + 1) % N] - l[x] != N - i - 1) add = 1;
int kx = (x + add + N) % N; int cnt = 1;
while (kx != x){
l[kx] -= (cnt - num); ++cnt; kx = (kx + add + N) % N;
}
++num;
}
reverse(sol2.begin(), sol2.end());
for (int i = 0; i < N; ++i){
if (!bio[i]) sol.push_back(i + 1);
}
for (int i = 0; i < sol2.size(); ++i)
sol.push_back(sol2[i]);
answer(sol);
}
/*int main(){
solve(3);
}*/
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |