| Task: | Just do it | 
| Sender: | Sold days | 
| Submission time: | 2024-11-16 13:43:19 +0200 | 
| Language: | C++ (C++20) | 
| Status: | READY | 
| Result: | WRONG ANSWER | 
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.00 s | details | 
| #2 | ACCEPTED | 0.00 s | details | 
| #3 | ACCEPTED | 0.00 s | details | 
| #4 | ACCEPTED | 0.00 s | details | 
| #5 | ACCEPTED | 0.00 s | details | 
| #6 | ACCEPTED | 0.00 s | details | 
| #7 | ACCEPTED | 0.00 s | details | 
| #8 | ACCEPTED | 0.00 s | details | 
| #9 | ACCEPTED | 0.00 s | details | 
| #10 | WRONG ANSWER | 0.00 s | details | 
| #11 | WRONG ANSWER | 0.00 s | details | 
| #12 | WRONG ANSWER | 0.00 s | details | 
| #13 | WRONG ANSWER | 0.00 s | details | 
| #14 | WRONG ANSWER | 0.00 s | details | 
| #15 | WRONG ANSWER | 0.00 s | details | 
| #16 | WRONG ANSWER | 0.00 s | details | 
| #17 | WRONG ANSWER | 0.00 s | details | 
Code
#include <bits/stdc++.h>
using namespace std;
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    int n = 0;
    cin >> n;
    vector<int> initial(n);
    iota(initial.begin(), initial.end(), 0);
    vector<int> ans(n);
    iota(ans.begin(), ans.end(), n + 1);
    int l = 0, r = n;
    int cnt = 0;
    bool reversed = false;
    while (l + 1 < r) {
        int m = (l + r) / 2;
        if (!reversed) {
             if (ans[initial[l]] > n) {
            ans[initial[l]] = ++cnt;
            }
            if (ans[initial[m]] > n) {
                ans[initial[m]] = ++cnt;
            }
            if (ans[initial[r - 1]] > n) {
                ans[initial[r - 1]] = ++cnt;
            }
            swap(initial[l + 1], initial[m]);
            l = l + 2;
        } else {
            if (ans[initial[r - 1]] > n) {
                ans[initial[r - 1]] = ++cnt;
            }
            if (ans[initial[m]] > n) {
                ans[initial[m]] = ++cnt;
            }
             if (ans[initial[l]] > n) {
            ans[initial[l]] = ++cnt;
            }
            
            swap(initial[r - 1], initial[m]);
            r = r - 2;
        }
       
        reversed = !reversed;
    }
    auto ans1 = ans;
    sort(ans1.begin(), ans1.end());
    for (int i = 0; i < n; ++i)
        ans[i] = lower_bound(ans1.begin(), ans1.end(),  ans[i]) - ans1.begin() + 1;
    for (auto x : ans)
        cout << x << " ";
    cout << endl;
    
    return 0;
}Test details
Test 1
Verdict: ACCEPTED
| input | 
|---|
| 2 | 
| correct output | 
|---|
| 1 2 | 
| user output | 
|---|
| 1 2 | 
Test 2
Verdict: ACCEPTED
| input | 
|---|
| 3 | 
| correct output | 
|---|
| 1 2 3 | 
| user output | 
|---|
| 1 2 3 | 
Test 3
Verdict: ACCEPTED
| input | 
|---|
| 4 | 
| correct output | 
|---|
| 1 2 3 4 | 
| user output | 
|---|
| 1 4 2 3 | 
Test 4
Verdict: ACCEPTED
| input | 
|---|
| 5 | 
| correct output | 
|---|
| 1 2 4 3 5 | 
| user output | 
|---|
| 1 5 2 4 3 | 
Test 5
Verdict: ACCEPTED
| input | 
|---|
| 6 | 
| correct output | 
|---|
| 1 2 3 5 4 6 | 
| user output | 
|---|
| 1 6 5 2 4 3 | 
Test 6
Verdict: ACCEPTED
| input | 
|---|
| 7 | 
| correct output | 
|---|
| 1 2 4 6 5 3 7 | 
| user output | 
|---|
| 1 6 5 2 4 7 3 | 
Test 7
Verdict: ACCEPTED
| input | 
|---|
| 8 | 
| correct output | 
|---|
| 1 2 3 5 7 6 4 8 | 
| user output | 
|---|
| 1 6 5 7 2 4 8 3 | 
Test 8
Verdict: ACCEPTED
| input | 
|---|
| 9 | 
| correct output | 
|---|
| 1 2 4 6 8 3 7 5 9 | 
| user output | 
|---|
| 1 6 5 8 2 4 7 9 3 | 
Test 9
Verdict: ACCEPTED
| input | 
|---|
| 10 | 
| correct output | 
|---|
| 1 2 3 5 7 9 4 8 6 10 | 
| user output | 
|---|
| 1 6 5 9 8 2 4 7 10 3 | 
Test 10
Verdict: WRONG ANSWER
| input | 
|---|
| 99 | 
| correct output | 
|---|
| 1 2 4 6 8 10 12 14 16 18 20 22... | 
| user output | 
|---|
| 1 6 5 9 8 12 11 15 14 18 17 21... | 
Test 11
Verdict: WRONG ANSWER
| input | 
|---|
| 100 | 
| correct output | 
|---|
| 1 2 3 5 7 9 11 13 15 17 19 21 ... | 
| user output | 
|---|
| 1 6 5 9 8 12 11 15 14 18 17 21... | 
Test 12
Verdict: WRONG ANSWER
| input | 
|---|
| 101 | 
| correct output | 
|---|
| 1 2 4 6 8 10 12 14 16 18 20 22... | 
| user output | 
|---|
| 1 6 5 9 8 12 11 15 14 18 17 21... | 
Test 13
Verdict: WRONG ANSWER
| input | 
|---|
| 300 | 
| correct output | 
|---|
| 1 2 3 5 7 9 11 13 15 17 19 21 ... | 
| user output | 
|---|
| 1 6 5 9 8 12 11 15 14 18 17 21... | 
Test 14
Verdict: WRONG ANSWER
| input | 
|---|
| 500 | 
| correct output | 
|---|
| 1 2 3 5 7 9 11 13 15 17 19 21 ... | 
| user output | 
|---|
| 1 6 5 9 8 12 11 15 14 18 17 21... | 
Test 15
Verdict: WRONG ANSWER
| input | 
|---|
| 998 | 
| correct output | 
|---|
| 1 2 3 5 7 9 11 13 15 17 19 21 ... | 
| user output | 
|---|
| 1 6 5 9 8 12 11 15 14 18 17 21... | 
Test 16
Verdict: WRONG ANSWER
| input | 
|---|
| 999 | 
| correct output | 
|---|
| 1 2 4 6 8 10 12 14 16 18 20 22... | 
| user output | 
|---|
| 1 6 5 9 8 12 11 15 14 18 17 21... | 
Test 17
Verdict: WRONG ANSWER
| input | 
|---|
| 1000 | 
| correct output | 
|---|
| 1 2 3 5 7 9 11 13 15 17 19 21 ... | 
| user output | 
|---|
| 1 6 5 9 8 12 11 15 14 18 17 21... | 
