Submission details
Task:Lista
Sender:aatukaj
Submission time:2026-01-17 15:03:04 +0200
Language:C++ (C++17)
Status:READY
Result:28
Feedback
groupverdictscore
#1ACCEPTED7
#2ACCEPTED9
#3ACCEPTED12
#40
#50
#60
Test results
testverdicttimegroup
#1ACCEPTED0.00 s1, 3, 4, 5, 6details
#2ACCEPTED0.00 s1, 4, 5, 6details
#3ACCEPTED0.00 s1, 2, 4, 5, 6details
#4ACCEPTED0.00 s1, 2, 4, 5, 6details
#5ACCEPTED0.00 s1, 2, 4, 5, 6details
#6ACCEPTED0.00 s1, 3, 4, 5, 6details
#7ACCEPTED0.00 s1, 4, 5, 6details
#8ACCEPTED0.00 s1, 4, 5, 6details
#9ACCEPTED0.00 s1, 4, 5, 6details
#10ACCEPTED0.00 s1, 2, 4, 5, 6details
#11ACCEPTED0.01 s1, 4, 5, 6details
#12ACCEPTED0.00 s1, 4, 5, 6details
#13ACCEPTED0.00 s1, 4, 5, 6details
#14ACCEPTED0.04 s2, 6details
#15ACCEPTED0.04 s2, 6details
#16ACCEPTED0.04 s2, 6details
#17ACCEPTED0.04 s2, 6details
#18ACCEPTED0.04 s2, 6details
#19ACCEPTED0.04 s2, 6details
#20ACCEPTED0.00 s1, 3, 4, 5, 6details
#21ACCEPTED0.04 s3, 6details
#22ACCEPTED0.04 s3, 6details
#23ACCEPTED0.04 s3, 6details
#24ACCEPTED0.04 s3, 6details
#25ACCEPTED0.04 s3, 6details
#26ACCEPTED0.04 s3, 6details
#270.01 s4, 6details
#280.01 s4, 6details
#290.01 s4, 6details
#30ACCEPTED0.00 s2, 4, 6details
#310.01 s4, 6details
#320.01 s4, 6details
#330.04 s5, 6details
#340.04 s5, 6details
#350.03 s5, 6details
#36ACCEPTED0.04 s2, 5, 6details
#370.03 s5, 6details
#380.04 s6details
#390.04 s6details
#400.04 s6details
#41ACCEPTED0.03 s2, 5, 6details
#420.06 s5, 6details
#43ACCEPTED0.00 s1, 3, 4, 5, 6details
#44ACCEPTED0.00 s1, 2, 4, 5, 6details
#45ACCEPTED0.00 s1, 4, 5, 6details

Compiler report

input/code.cpp: In function 'void stress()':
input/code.cpp:77:13: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
   77 |             for (int i=0; i<n; i++) cout << a[i] << ' '; cout << '\n';
      |             ^~~
input/code.cpp:77:58: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
   77 |             for (int i=0; i<n; i++) cout << a[i] << ' '; cout << '\n';
      |                                                          ^~~~
input/code.cpp:78:13: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
   78 |             for (int i=0; i<n; i++) cout << correct[i] << ' '; cout << '\n';
      |             ^~~
input/code.cpp:78:64: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
   78 |             for (int i=0; i<n; i++) cout << correct[i] << ' '; cout << '\n';
      |                                                                ^~~~
i...

Code

#include <bits/stdc++.h>
#define all(v) begin(v), end(v)
using namespace std;


vector<int> brute(vector<int> a, int n, int k) {
    vector<int> res = a;
    for (int mask=0; mask<1<<n; mask++) {
        if (__builtin_popcount(mask) != k) continue; 
        vector<int> inds, vals;
        for (int i=0; i<n; i++) if (mask>>i&1) {
            inds.push_back(i);
            vals.push_back(a[i]);
        }
        sort(all(vals));
        vector<int> nw = a;
        for (int i=0; i<k; i++) {
            nw[inds[i]] = vals[i];
        }
        res = min(res, nw);
    };
    return res;
};
vector<int> solve(vector<int> a, int n, int k) {
    vector<int> suf_mn(n+1);
    suf_mn.back() = 1e9;
    for (int i=n-1; i>=0; i--) suf_mn[i] = min(suf_mn[i+1], a[i]);
    for (int i=0; i<n; i++) {
        if (a[i] != suf_mn[i]) {
            int j = -1;
            for (int z=n-1; z>=0; z--) {
                if (a[z]==suf_mn[i]) {
                    j = z;
                    break;
                }
            }
            if (j>i) {
                swap(a[i], a[j]);
                ///cout << "SWOP" << i << ' ' << j << endl;
                if (k==3) {
                    bool f = false;
                    for (int z=i+1; z<j; z++) {
                        if (a[z] > a[j]) {
                            //cout << "ZZZ" << z << '\n';
                            swap(a[z], a[j]);
                            f = true;
                            break;
                        };
                    };
                    if (!f) {
                        int mn = min(a[j], suf_mn[j+1]);
                        for (int z=n-1; z>j; z--) {
                            if (a[z] == mn) {
                                swap(a[z], a[j]);
                                break;
                            }
                        };
                    };
                }
            };
            break;
        };
    };
    return a;
};
mt19937 gen(0);
void stress() {
    int k = 3;
    int n = 5;
    while (true) {
        cout << "----\n";
        vector<int> a(n);
        for (int i=0; i<n; i++) a[i] = gen()%n+1;
        auto correct = brute(a, n, k);
        auto res = solve(a, n, k);
        if (correct != res) {
            for (int i=0; i<n; i++) cout << a[i] << ' '; cout << '\n';
            for (int i=0; i<n; i++) cout << correct[i] << ' '; cout << '\n';
            for (int i=0; i<n; i++) cout << res[i] << ' '; cout << '\n';
            exit(1);
        };
    };
};

void $() {
    int n, k;
    cin >> n >> k;
    vector<int> a(n);
    for (auto &u: a) cin >> u;
    vector<int> res;
    if (k>=4) {
        res = brute(a, n, k);
    } else {
        res = solve(a, n, k);
        };
    for (auto i: res) cout << i << ' ';
    cout << '\n';
    return;
}
int main() {
    //stress();
    cin.tie(0)->sync_with_stdio(0);
    $();
}

Test details

Test 1 (public)

Group: 1, 3, 4, 5, 6

Verdict: ACCEPTED

input
6 3
6 5 1 4 1 3

correct output
1 5 1 4 3 6

user output
1 5 1 4 3 6 

Test 2 (public)

Group: 1, 4, 5, 6

Verdict: ACCEPTED

input
4 4
1 2 3 4

correct output
1 2 3 4

user output
1 2 3 4 

Test 3

Group: 1, 2, 4, 5, 6

Verdict: ACCEPTED

input
2 2
2 1

correct output
1 2

user output
1 2 

Test 4

Group: 1, 2, 4, 5, 6

Verdict: ACCEPTED

input
10 2
6 6 6 6 6 6 6 6 6 6

correct output
6 6 6 6 6 6 6 6 6 6

user output
6 6 6 6 6 6 6 6 6 6 

Test 5

Group: 1, 2, 4, 5, 6

Verdict: ACCEPTED

input
10 2
2 5 10 1 8 6 4 7 3 9

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

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

Test 6

Group: 1, 3, 4, 5, 6

Verdict: ACCEPTED

input
10 3
6 9 2 7 5 4 9 9 10 8

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

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

Test 7

Group: 1, 4, 5, 6

Verdict: ACCEPTED

input
10 4
3 4 2 9 5 1 5 6 10 8

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

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

Test 8

Group: 1, 4, 5, 6

Verdict: ACCEPTED

input
10 7
8 10 6 4 5 3 1 9 2 9

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

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

Test 9

Group: 1, 4, 5, 6

Verdict: ACCEPTED

input
10 10
8 5 7 7 6 9 5 1 3 4

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

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

Test 10

Group: 1, 2, 4, 5, 6

Verdict: ACCEPTED

input
10 2
1 2 3 4 5 6 7 8 9 10

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

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

Test 11

Group: 1, 4, 5, 6

Verdict: ACCEPTED

input
10 9
10 9 8 7 6 5 4 3 2 1

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

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

Test 12

Group: 1, 4, 5, 6

Verdict: ACCEPTED

input
10 10
10 9 8 7 6 5 4 3 2 1

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

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

Test 13

Group: 1, 4, 5, 6

Verdict: ACCEPTED

input
9 8
9 8 7 6 5 4 3 2 1

correct output
1 2 3 4 5 6 7 8 9

user output
1 2 3 4 5 6 7 8 9 

Test 14

Group: 2, 6

Verdict: ACCEPTED

input
200000 2
176369 57172 92603 196271 1967...

correct output
1155 57172 92603 196271 196768...

user output
1155 57172 92603 196271 196768...

Test 15

Group: 2, 6

Verdict: ACCEPTED

input
200000 2
188653 156245 40967 173336 185...

correct output
57 156245 40967 173336 185896 ...

user output
57 156245 40967 173336 185896 ...

Test 16

Group: 2, 6

Verdict: ACCEPTED

input
200000 2
170455 14692 60230 38375 31037...

correct output
20 14692 60230 38375 31037 395...

user output
20 14692 60230 38375 31037 395...

Test 17

Group: 2, 6

Verdict: ACCEPTED

input
200000 2
59289 119695 145821 16906 1149...

correct output
1 119695 145821 16906 114932 1...

user output
1 119695 145821 16906 114932 1...

Test 18

Group: 2, 6

Verdict: ACCEPTED

input
200000 2
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

correct output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

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

Test 19

Group: 2, 6

Verdict: ACCEPTED

input
200000 2
200000 199999 199998 199997 19...

correct output
1 199999 199998 199997 199996 ...

user output
1 199999 199998 199997 199996 ...

Test 20

Group: 1, 3, 4, 5, 6

Verdict: ACCEPTED

input
3 3
3 2 1

correct output
1 2 3

user output
1 2 3 

Test 21

Group: 3, 6

Verdict: ACCEPTED

input
200000 3
66357 7587 176209 27489 170275...

correct output
390 7587 66357 27489 170275 31...

user output
390 7587 66357 27489 170275 31...

Test 22

Group: 3, 6

Verdict: ACCEPTED

input
200000 3
93946 193045 25177 150263 1482...

correct output
205 93946 25177 150263 148229 ...

user output
205 93946 25177 150263 148229 ...

Test 23

Group: 3, 6

Verdict: ACCEPTED

input
200000 3
81262 22620 25235 22620 10144 ...

correct output
6 22620 25235 22620 10144 2614...

user output
6 22620 25235 22620 10144 2614...

Test 24

Group: 3, 6

Verdict: ACCEPTED

input
200000 3
62925 65929 74691 187894 13817...

correct output
1 62925 74691 187894 138170 15...

user output
1 62925 74691 187894 138170 15...

Test 25

Group: 3, 6

Verdict: ACCEPTED

input
200000 3
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

correct output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

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

Test 26

Group: 3, 6

Verdict: ACCEPTED

input
200000 3
200000 199999 199998 199997 19...

correct output
1 199999 199998 199997 199996 ...

user output
1 199999 199998 199997 199996 ...

Test 27

Group: 4, 6

Verdict:

input
2000 100
1468 510 463 644 1429 1108 153...

correct output
1 2 3 4 5 6 7 8 9 10 11 13 14 ...

user output
1468 510 463 644 1429 1108 153...

Feedback: Incorrect character on line 1 col 2: expected "1", got "1468"

Test 28

Group: 4, 6

Verdict:

input
2000 1000
1246 1024 680 1448 504 921 976...

correct output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
1246 1024 680 1448 504 921 976...

Feedback: Incorrect character on line 1 col 2: expected "1", got "1246"

Test 29

Group: 4, 6

Verdict:

input
2000 1900
461 1257 1198 1876 651 1930 15...

correct output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
461 1257 1198 1876 651 1930 15...

Feedback: Incorrect character on line 1 col 1: expected "1", got "461"

Test 30

Group: 2, 4, 6

Verdict: ACCEPTED

input
2000 2
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

correct output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

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

Test 31

Group: 4, 6

Verdict:

input
2000 597
2000 1999 1998 1997 1996 1995 ...

correct output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
2000 1999 1998 1997 1996 1995 ...

Feedback: Incorrect character on line 1 col 1: expected "1", got "2000"

Test 32

Group: 4, 6

Verdict:

input
2000 2000
2000 1999 1998 1997 1996 1995 ...

correct output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
2000 1999 1998 1997 1996 1995 ...

Feedback: Incorrect character on line 1 col 1: expected "1", got "2000"

Test 33

Group: 5, 6

Verdict:

input
200000 100
8 4 2 6 7 2 9 2 10 9 4 1 1 3 1...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

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

Feedback: Incorrect character on line 1 col 1: expected "1", got "8"

Test 34

Group: 5, 6

Verdict:

input
200000 10000
5 7 2 6 1 9 7 2 4 10 1 4 4 1 9...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
5 7 2 6 1 9 7 2 4 10 1 4 4 1 9...

Feedback: Incorrect character on line 1 col 1: expected "1", got "5"

Test 35

Group: 5, 6

Verdict:

input
200000 190000
8 3 5 5 7 8 10 10 8 10 2 2 2 8...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
8 3 5 5 7 8 10 10 8 10 2 2 2 8...

Feedback: Incorrect character on line 1 col 1: expected "1", got "8"

Test 36

Group: 2, 5, 6

Verdict: ACCEPTED

input
200000 2
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

Test 37

Group: 5, 6

Verdict:

input
200000 200000
10 10 10 10 10 10 10 10 10 10 ...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
10 10 10 10 10 10 10 10 10 10 ...

Feedback: Incorrect character on line 1 col 2: expected "1", got "10"

Test 38

Group: 6

Verdict:

input
200000 100
151203 41607 101924 180578 132...

correct output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
151203 41607 101924 180578 132...

Feedback: Incorrect character on line 1 col 2: expected "1", got "151203"

Test 39

Group: 6

Verdict:

input
200000 10000
172851 90759 102500 164610 200...

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

user output
172851 90759 102500 164610 200...

Feedback: Incorrect character on line 1 col 2: expected "1", got "172851"

Test 40

Group: 6

Verdict:

input
200000 190000
176771 53238 75539 184219 9404...

correct output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
176771 53238 75539 184219 9404...

Feedback: Incorrect character on line 1 col 2: expected "1", got "176771"

Test 41

Group: 2, 5, 6

Verdict: ACCEPTED

input
200000 2
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

Test 42

Group: 5, 6

Verdict:

input
200000 200000
10 10 10 10 10 10 10 10 10 10 ...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
10 10 10 10 10 10 10 10 10 10 ...

Feedback: Incorrect character on line 1 col 2: expected "1", got "10"

Test 43

Group: 1, 3, 4, 5, 6

Verdict: ACCEPTED

input
10 3
8 5 5 8 8 10 10 10 6 3

correct output
3 5 5 8 8 8 10 10 6 10

user output
3 5 5 8 8 8 10 10 6 10 

Test 44

Group: 1, 2, 4, 5, 6

Verdict: ACCEPTED

input
10 2
1 1 2 5 2 7 1 2 4 2

correct output
1 1 1 5 2 7 2 2 4 2

user output
1 1 1 5 2 7 2 2 4 2 

Test 45

Group: 1, 4, 5, 6

Verdict: ACCEPTED

input
10 4
1 1 2 5 2 7 1 2 4 2

correct output
1 1 1 2 2 5 7 2 4 2

user output
1 1 1 2 2 5 7 2 4 2