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 "art.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define pii pair<ll, ll>
#define f first
#define s second
#define SZ(x) (int)((x).size())
#define ALL(x) (x).begin(), (x).end()
#define pb push_back
#define FOR(i,a,b) for (int i = a; i<b; ++i)
#define REP(i,n) FOR(i,0,n)
#define REP1(i,n) FOR(i,1,n+1)
#define MX(a,b) a = max(a,b)
#define MN(a,b) a = min(a,b)
#ifdef BALBIT
#define bug(...) cerr<<"#"<<__LINE__<<": "<<#__VA_ARGS__<<"- ", _do(__VA_ARGS__)
template<typename T> void _do( T && x) {cerr<<x<<endl;}
template<typename T,typename ...S> void _do( T && x, S && ...y) {cerr<<x<<", "; _do(y...);}
#else
#define bug(...)
#define endl '\n'
#endif // BALBIT
//
// --- 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
//
namespace {
const int maxn = 4004;
bool done[maxn];
#ifdef BALBIT
vector<int> p = {3,1,4,2,6,5};
//vector<int> p = {1,3,2};
int publish(vector<int> v) {
vector<int> tmp;
for (int x : v) tmp.pb(p[x-1]);
int re = 0;
REP(i, SZ(tmp)) REP(j,i) {
re += tmp[j] > tmp[i];
}
return re;
}
void answer(vector<int> v) {
for (int t : v) cout<<t<<' ';
cout<<endl;
}
#endif
} // empty namespace
void solve(int n) {
vector<int> val(n);
vector<int> ha(n);
REP(round,n) {
vector<int> ord(n);
REP(i,n) {
ord[i] = (i+round)%n+ 1;
}
int get = publish(ord);
ha[round] =get;
}
vector<int> ans(n);
REP(i,n) {
int j = (i+1) % n;
int ab = ha[i] - ha[j];
val[i] = (ab + n - 1);
bug(i, val[i]); assert(val[i]% 2 == 0);
val[i] /= 2;
ans[val[i]]= i + 1;
}
answer(ans);
}
#ifdef BALBIT
signed main(){
solve(6);
}
#endif // BALBIT
Compilation message (stderr)
art.cpp:45:6: warning: '{anonymous}::done' defined but not used [-Wunused-variable]
45 | bool done[maxn];
| ^~~~
interface.cpp: In function 'int publish(std::vector<int>)':
interface.cpp:20:17: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
20 | if(v.size() != N) {
| ~~~~~~~~~^~~~
interface.cpp: In function 'void answer(std::vector<int>)':
interface.cpp:36:17: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
36 | if(v.size() != N) {
| ~~~~~~~~~^~~~
# | 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... |