Submission #1322481

#TimeUsernameProblemLanguageResultExecution timeMemory
1322481NValchanovArt Collections (BOI22_art)C++20
0 / 100
0 ms332 KiB
#include <vector>
#include "art.h"

using namespace std;

int n;
int p;
vector < int > a;
vector < int > ans;
vector < int > invs;

void solve(int N) 
{
    n = N;
    a.resize(n);
    ans.resize(n);
    invs.resize(n);

    for(int i = 0; i < n; i++)
    {
        a[i] = i + 1;
    }

    for(int i = 1; i <= n; i++)
    {
        invs[i] = publish(a);

        for(int j = 0; j < n - 1; j++)
        {
            swap(a[j], a[j + 1]);
        }
    }

    for(int i = 1; i <= n; i++)
    {
        int nxt = i + 1;

        if(nxt == n + 1)
            nxt = 1;

        int x = invs[i] - invs[nxt];

        int pos = (n + x - 1) / 2; 

        ans[pos] = i;
    }

    answer(ans);
}
#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...