CSES - HIIT Open 2024 - Results
Submission details
Task:Just do it
Sender:Pynamic Drogramming
Submission time:2024-11-16 15:51:36 +0200
Language:C++ (C++20)
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.00 sdetails
#2ACCEPTED0.00 sdetails
#3ACCEPTED0.00 sdetails
#4ACCEPTED0.00 sdetails
#5ACCEPTED0.00 sdetails
#6ACCEPTED0.00 sdetails
#7ACCEPTED0.00 sdetails
#8ACCEPTED0.00 sdetails
#9ACCEPTED0.00 sdetails
#10ACCEPTED0.00 sdetails
#11ACCEPTED0.00 sdetails
#12ACCEPTED0.00 sdetails
#13ACCEPTED0.00 sdetails
#14ACCEPTED0.00 sdetails
#15ACCEPTED0.00 sdetails
#16ACCEPTED0.00 sdetails
#17ACCEPTED0.00 sdetails

Code

#include <bits/stdc++.h>

using namespace std;

int median(int a, int b, int c) {
    vector<int> arr = {a,b,c};
    sort(arr.begin(), arr.end());
    return arr[1];
}

int hiit_sort(vector<int> array, int low, int high) {
    if (high -low > 1) {
        int pivot = median(array[low], array[(low + high) / 2], array[high-1]);

        int a = low;
        int b = high;

        int count = 0;

        while(1) {
            while (array[a] < pivot) {
                a++;
                count++;
            }
            while (array[b] > pivot) {
                b++;
                count++;
            }
            if (a >= b) {
                break;
            }
            swap(array[a], array[b]);
            a++;
            b--;
        }
        count += hiit_sort(array, low, a);
        count += hiit_sort(array, a, high);
        return count;
    }
    else {
        return 0;
    }
}

int main()
{
    int n;
    cin >> n;

    vector<int> result(n);
    result[0] = 1;
    for(int i = 1; i < n-1; i++) {
        result[i] = i+2;
    }
    result[n-1] = 2;

    // int half_n = n / 2;

    // if (n % 2 == 1) {
    //     half_n++;
    // }

    // for(int i = 0; i < half_n; i++) {
    //     result[i] = i*2+1;
    // }
    // for (int i = 0; i < n / 2;  i++) {
    //     result[half_n + i] = (1 + i) * 2;
    // }

    for (int i = 0; i < n; i++) {
        cout << result[i] << " ";
    }
    cout << endl;

    // cout << hiit_sort(result, 0, n);
    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 3 2 

Test 3

Verdict: ACCEPTED

input
4

correct output
1 2 3 4

user output
1 3 4 2 

Test 4

Verdict: ACCEPTED

input
5

correct output
1 2 4 3 5

user output
1 3 4 5 2 

Test 5

Verdict: ACCEPTED

input
6

correct output
1 2 3 5 4 6

user output
1 3 4 5 6 2 

Test 6

Verdict: ACCEPTED

input
7

correct output
1 2 4 6 5 3 7

user output
1 3 4 5 6 7 2 

Test 7

Verdict: ACCEPTED

input
8

correct output
1 2 3 5 7 6 4 8

user output
1 3 4 5 6 7 8 2 

Test 8

Verdict: ACCEPTED

input
9

correct output
1 2 4 6 8 3 7 5 9

user output
1 3 4 5 6 7 8 9 2 

Test 9

Verdict: ACCEPTED

input
10

correct output
1 2 3 5 7 9 4 8 6 10

user output
1 3 4 5 6 7 8 9 10 2 

Test 10

Verdict: ACCEPTED

input
99

correct output
1 2 4 6 8 10 12 14 16 18 20 22...

user output
1 3 4 5 6 7 8 9 10 11 12 13 14...

Test 11

Verdict: ACCEPTED

input
100

correct output
1 2 3 5 7 9 11 13 15 17 19 21 ...

user output
1 3 4 5 6 7 8 9 10 11 12 13 14...

Test 12

Verdict: ACCEPTED

input
101

correct output
1 2 4 6 8 10 12 14 16 18 20 22...

user output
1 3 4 5 6 7 8 9 10 11 12 13 14...

Test 13

Verdict: ACCEPTED

input
300

correct output
1 2 3 5 7 9 11 13 15 17 19 21 ...

user output
1 3 4 5 6 7 8 9 10 11 12 13 14...

Test 14

Verdict: ACCEPTED

input
500

correct output
1 2 3 5 7 9 11 13 15 17 19 21 ...

user output
1 3 4 5 6 7 8 9 10 11 12 13 14...

Test 15

Verdict: ACCEPTED

input
998

correct output
1 2 3 5 7 9 11 13 15 17 19 21 ...

user output
1 3 4 5 6 7 8 9 10 11 12 13 14...

Test 16

Verdict: ACCEPTED

input
999

correct output
1 2 4 6 8 10 12 14 16 18 20 22...

user output
1 3 4 5 6 7 8 9 10 11 12 13 14...

Test 17

Verdict: ACCEPTED

input
1000

correct output
1 2 3 5 7 9 11 13 15 17 19 21 ...

user output
1 3 4 5 6 7 8 9 10 11 12 13 14...