# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
943715 | tmarcinkevicius | Art Collections (BOI22_art) | C++17 | 1368 ms | 1456 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>
#include "art.h"
using namespace std;
//
// --- Sample implementation for the task art ---
//
// To compile this program with the sample grader, place:
// art.h art_sample.cpp sample_grader.cpp
// in a single folder, then open the terminal in this directory (right-click onto an empty spot in the directory,
// left click on "Open in terminal") and enter e.g.:
// g++ -std=c++17 art_sample.cpp sample_grader.cpp
// in this folder. This will create a file a.out in the current directory which you can execute from the terminal
// as ./a.out
// See task statement or sample_grader.cpp for the input specification
//
void solve(int N)
{
vector<int> ans;
for (int i = 1; i <= N; i++)
{
ans.push_back(i);
}
int best = publish(ans);
for (int i = 1; i < N; i++)
{
vector<int> ans2 = ans;
ans2[0] = ans[i];
for (int j = 1; j <= i; j++)
{
ans2[j] = ans[j - 1];
}
/*cout << "after swap, ans2 = {";
for (int j : ans2)
{
cout << j << " ";
}
cout << "}\n";*/
int candidate = publish(ans2);
int newVal = i - candidate + best;
// cout << "best = " << best << ", candidate = " << candidate << ", newVal = " << newVal << '\n';
assert(newVal % 2 == 0);
newVal /= 2;
best -= newVal;
newVal = i - newVal;
// cout << "newVal = " << newVal << '\n';
ans2 = ans;
for (int j = newVal + 1; j <= i; j++)
{
ans[j] = ans2[j - 1];
}
ans[newVal] = ans2[i];
/*cout << "now ans: ";
for (int j : ans)
{
cout << j << " ";
}
cout << '\n';*/
}
answer(ans);
}
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... |