Submission details
Task:Blocks
Sender:jsesok
Submission time:2026-04-16 12:41:00 +0300
Language:C++ (C++20)
Status:READY
Result:18
Feedback
subtaskverdictscore
#10
#20
#3ACCEPTED18
#40
#50
#60
Test results
testverdicttimesubtask
#1ACCEPTED0.00 s2, 5, 6details
#2ACCEPTED0.00 s1, 2, 3, 4, 5, 6details
#3ACCEPTED0.00 s1, 2, 4, 5, 6details
#4ACCEPTED0.00 s1, 2, 3, 4, 5, 6details
#5ACCEPTED0.00 s1, 2, 3, 4, 5, 6details
#6ACCEPTED0.00 s1, 2, 3, 5, 6details
#70.00 s1, 2, 4, 5, 6details
#8ACCEPTED0.00 s2, 3, 4, 5, 6details
#9ACCEPTED0.00 s2, 3, 5, 6details
#10ACCEPTED0.00 s2, 3, 4, 5, 6details
#11ACCEPTED0.00 s2, 4, 5, 6details
#12ACCEPTED0.00 s2, 5, 6details
#13ACCEPTED0.00 s2, 3, 4, 5, 6details
#14ACCEPTED0.00 s2, 5, 6details
#15ACCEPTED0.00 s2, 5, 6details
#160.00 s2, 4, 5, 6details
#17ACCEPTED0.00 s2, 3, 4, 5, 6details
#18ACCEPTED0.00 s2, 5, 6details
#19ACCEPTED0.00 s2, 5, 6details
#20ACCEPTED0.10 s3, 4, 6details
#21ACCEPTED0.07 s3, 4, 6details
#22ACCEPTED0.04 s3, 4, 5, 6details
#23ACCEPTED0.04 s3, 4, 5, 6details
#24ACCEPTED0.07 s4, 6details
#25ACCEPTED0.05 s4, 6details
#26ACCEPTED0.04 s3, 4, 5, 6details
#270.07 s4, 6details
#280.03 s4, 5, 6details
#290.08 s4, 6details
#30ACCEPTED0.04 s3, 4, 5, 6details
#31ACCEPTED0.04 s6details
#32ACCEPTED0.07 s6details
#330.04 s6details
#340.03 s5, 6details
#350.04 s6details
#360.05 s6details
#37ACCEPTED0.08 s6details
#38ACCEPTED0.03 s5, 6details
#39ACCEPTED0.04 s6details
#40ACCEPTED0.05 s6details
#41ACCEPTED0.08 s6details
#42ACCEPTED0.06 s3, 6details
#430.07 s6details
#440.01 s6details
#450.01 s6details
#460.00 s6details
#470.00 s5, 6details
#480.00 s2, 5, 6details
#49ACCEPTED0.00 s2, 3, 5, 6details
#50--2, 5, 6details
#510.00 s2, 5, 6details
#520.00 s2, 5, 6details
#53--2, 5, 6details
#54ACCEPTED0.03 s5, 6details
#55ACCEPTED0.02 s5, 6details
#56ACCEPTED0.02 s5, 6details
#570.07 s4, 6details
#580.00 s2, 5, 6details
#590.00 s2, 5, 6details
#600.00 s2, 5, 6details
#610.00 s5, 6details
#620.00 s5, 6details
#630.00 s5, 6details

Code

#include <iostream>
#include <vector>
#include <tuple>
#include <algorithm>
#include <numeric>
#include <queue>
#include <climits>
#include <map>
#include <unordered_map>
#include <stack>
using namespace std;

int main()
{
    ios_base::sync_with_stdio(0);
    cout.tie(0);
    cin.tie(0);
    long long t, n, k, e;
    cin>>t;
    for (int _=0; _<t; ++_)
    {
        cin>>n>>k;
        vector<long long> a(n);
        stack<long long> s;
        unordered_map<long long, long long> m;
        priority_queue<tuple<long long, long long, long long>> q;
        for (int i=0; i<n; ++i)
        {
            cin>>a[i];
            m[a[i]]+=1;
        }
        if (n%2==0)
        {
            e=0;
            for (int i=1; i<=k; ++i)
            {
                if (m[i]%2==1)
                {
                    e=1;
                    cout<<"NO\n";
                    break;
                }
            }
            if (e==1)
                continue;
            cout<<"YES\n";
            for (int i=1; i<=k; ++i)
            {
                for (int j=0; j<m[i]/2; ++j)
                    cout<<i<<" ";
                s.push(i);
            }
            cout<<s.top();
            m[s.top()]-=1;
            while (!s.empty())
            {
                for (int i=0; i<m[s.top()]/2; ++i)
                    cout<<" "<<s.top();
                s.pop();
            }
            cout<<"\n";
        }
        else
        {
            vector<int> o(n+1, 0);
            e=0;
            for (int i=1; i<=k; ++i)
            {
                if (m[i]==1)
                {
                    if (o[n/2+1]!=0)
                        e=-1;
                    o[n/2+1]=i;
                    continue;
                }
                q.push({m[i]*((n+1)/2), i, m[i]});
            }
            for (int i=n; i>=1; --i)
            {
                if (o[i]==0)
                {
                    if (get<0>(q.top())>=i)
                    {
                        o[i]=get<1>(q.top());
                        if (get<2>(q.top())>2)
                            q.push({get<0>(q.top())-i, get<1>(q.top()), get<2>(q.top())-1});
                        else
                        {
                            if (o[get<0>(q.top())-i]==0)
                                o[get<0>(q.top())-i]=get<1>(q.top());
                            else
                            {
                                e=-1;
                                break;
                            }
                        }
                        q.pop();
                    }
                    else
                    {
                        e=-1;
                        break;
                    }
                }
            }
            while (!q.empty())
            {
                q.pop();
            }
            if (e==-1)
            {
                cout<<"NO\n";
                continue;
            }
            cout<<"YES\n";
            cout<<o[1];
            for (int i=2; i<=n; ++i)
                cout<<" "<<o[i];
            cout<<"\n";
        }
    }
    return 0;
}

Test details

Test 1

Subtask: 2, 5, 6

Verdict: ACCEPTED

input
3
7 2
1 1 1 1 2 2 2
2 2
1 2
...

correct output
YES
1 2 2 1 1 1 2
NO
YES
1 1

user output
YES
1 2 1 2 1 2 1
NO
YES
1 1

Test 2

Subtask: 1, 2, 3, 4, 5, 6

Verdict: ACCEPTED

input
1
1 1
1

correct output
YES
1

user output
YES
1

Test 3

Subtask: 1, 2, 4, 5, 6

Verdict: ACCEPTED

input
1
2 2
1 2

correct output
NO

user output
NO

Test 4

Subtask: 1, 2, 3, 4, 5, 6

Verdict: ACCEPTED

input
1
2 1
1 1

correct output
YES
1 1

user output
YES
1 1

Test 5

Subtask: 1, 2, 3, 4, 5, 6

Verdict: ACCEPTED

input
1
3 1
1 1 1

correct output
YES
1 1 1

user output
YES
1 1 1

Test 6

Subtask: 1, 2, 3, 5, 6

Verdict: ACCEPTED

input
1
3 2
2 1 2

correct output
YES
2 1 2

user output
YES
2 1 2

Test 7

Subtask: 1, 2, 4, 5, 6

Verdict:

input
1
3 3
1 2 3

correct output
NO

user output
(empty)

Test 8

Subtask: 2, 3, 4, 5, 6

Verdict: ACCEPTED

input
1
4 2
2 1 2 1

correct output
YES
1 2 2 1

user output
YES
1 2 2 1

Test 9

Subtask: 2, 3, 5, 6

Verdict: ACCEPTED

input
1
5 2
2 1 2 1 2

correct output
YES
1 2 2 2 1

user output
YES
2 1 2 1 2

Test 10

Subtask: 2, 3, 4, 5, 6

Verdict: ACCEPTED

input
1
5 1
1 1 1 1 1

correct output
YES
1 1 1 1 1

user output
YES
1 1 1 1 1

Test 11

Subtask: 2, 4, 5, 6

Verdict: ACCEPTED

input
1
10 2
1 2 2 1 2 1 2 1 2 1

correct output
NO

user output
NO

Test 12

Subtask: 2, 5, 6

Verdict: ACCEPTED

input
1
10 5
1 5 3 3 5 5 4 4 1 2

correct output
NO

user output
NO

Test 13

Subtask: 2, 3, 4, 5, 6

Verdict: ACCEPTED

input
1
14 7
2 3 4 4 6 3 5 7 7 6 1 2 1 5

correct output
YES
1 7 5 6 4 3 2 2 3 4 6 5 7 1

user output
YES
1 2 3 4 5 6 7 7 6 5 4 3 2 1

Test 14

Subtask: 2, 5, 6

Verdict: ACCEPTED

input
1
14 7
7 1 2 3 6 1 7 4 2 5 3 5 5 6

correct output
NO

user output
NO

Test 15

Subtask: 2, 5, 6

Verdict: ACCEPTED

input
1
14 6
3 3 5 2 1 2 5 1 1 4 4 6 3 6

correct output
NO

user output
NO

Test 16

Subtask: 2, 4, 5, 6

Verdict:

input
1
15 3
2 2 1 1 2 2 3 1 1 3 1 3 3 2 3

correct output
YES
3 1 2 3 1 2 2 3 1 1 2 3 2 1 3

user output
NO

Feedback: Case #1: Wrong answer "NO", expected YES

Test 17

Subtask: 2, 3, 4, 5, 6

Verdict: ACCEPTED

input
1
15 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

correct output
YES
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

user output
YES
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Test 18

Subtask: 2, 5, 6

Verdict: ACCEPTED

input
1
15 6
1 3 6 2 4 5 3 5 1 2 1 3 2 5 1

correct output
NO

user output
NO

Test 19

Subtask: 2, 5, 6

Verdict: ACCEPTED

input
1
15 6
3 4 1 3 2 5 4 3 1 5 2 6 1 1 2

correct output
YES
5 1 1 4 2 3 3 6 2 2 3 4 1 1 5

user output
YES
1 2 3 1 5 4 3 6 2 4 5 1 2 3 1

Test 20

Subtask: 3, 4, 6

Verdict: ACCEPTED

input
1
200000 100000
41274 72445 8195 89156 8309 52...

correct output
YES
56657 98790 6783 99959 46986 3...

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

Test 21

Subtask: 3, 4, 6

Verdict: ACCEPTED

input
1
200000 50000
11371 7307 32180 19963 36192 1...

correct output
YES
23060 23060 30821 30821 6516 6...

user output
YES
1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 ...

Test 22

Subtask: 3, 4, 5, 6

Verdict: ACCEPTED

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

correct output
YES
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 ...

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

Test 23

Subtask: 3, 4, 5, 6

Verdict: ACCEPTED

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

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

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

Test 24

Subtask: 4, 6

Verdict: ACCEPTED

input
1
200000 200000
81478 107278 105420 174048 289...

correct output
NO

user output
NO

Test 25

Subtask: 4, 6

Verdict: ACCEPTED

input
1
199998 66666
11893 41083 9602 37023 17558 5...

correct output
NO

user output
NO

Test 26

Subtask: 3, 4, 5, 6

Verdict: ACCEPTED

input
1
199998 3
1 2 1 1 2 2 3 2 2 3 3 1 2 3 1 ...

correct output
YES
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ...

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

Test 27

Subtask: 4, 6

Verdict:

input
1
199995 66665
23438 10740 28920 10902 37608 ...

correct output
YES
28038 26368 5479 35821 63638 2...

user output
NO

Feedback: Case #1: Wrong answer "NO", expected YES

Test 28

Subtask: 4, 5, 6

Verdict:

input
1
199995 3
1 3 1 2 1 3 2 1 3 3 1 3 1 2 2 ...

correct output
YES
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 ...

user output
NO

Feedback: Case #1: Wrong answer "NO", expected YES

Test 29

Subtask: 4, 6

Verdict:

input
1
199995 199995
98848 21787 95908 35825 145110...

correct output
NO

user output
(empty)

Test 30

Subtask: 3, 4, 5, 6

Verdict: ACCEPTED

input
1
199995 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

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

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

Test 31

Subtask: 6

Verdict: ACCEPTED

input
1
199996 66666
58102 41937 44066 50719 64212 ...

correct output
NO

user output
NO

Test 32

Subtask: 6

Verdict: ACCEPTED

input
1
199997 66667
64994 35732 65333 29671 5745 4...

correct output
NO

user output
NO

Test 33

Subtask: 6

Verdict:

input
1
179999 599
62 356 235 202 311 370 325 84 ...

correct output
YES
331 331 331 331 331 331 331 33...

user output
NO

Feedback: Case #1: Wrong answer "NO", expected YES

Test 34

Subtask: 5, 6

Verdict:

input
1
199999 3
3 2 2 2 3 3 3 2 3 3 3 2 2 2 3 ...

correct output
YES
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 ...

user output
NO

Feedback: Case #1: Wrong answer "NO", expected YES

Test 35

Subtask: 6

Verdict:

input
1
199999 51
20 38 45 24 3 40 21 1 18 10 36...

correct output
YES
46 46 46 46 46 46 46 46 46 46 ...

user output
NO

Feedback: Case #1: Wrong answer "NO", expected YES

Test 36

Subtask: 6

Verdict:

input
1
199999 10001
4645 6143 5426 3796 8646 9815 ...

correct output
YES
4536 4536 4536 4536 2089 2089 ...

user output
NO

Feedback: Case #1: Wrong answer "NO", expected YES

Test 37

Subtask: 6

Verdict: ACCEPTED

input
1
199999 86578
37361 14324 34552 49344 77757 ...

correct output
NO

user output
NO

Test 38

Subtask: 5, 6

Verdict: ACCEPTED

input
1
199999 4
3 3 2 3 2 2 3 3 3 2 3 3 3 3 2 ...

correct output
NO

user output
NO

Test 39

Subtask: 6

Verdict: ACCEPTED

input
1
199999 52
9 2 4 42 45 52 40 38 51 21 27 ...

correct output
NO

user output
NO

Test 40

Subtask: 6

Verdict: ACCEPTED

input
1
199999 10002
4020 9144 2560 8443 418 7212 7...

correct output
NO

user output
NO

Test 41

Subtask: 6

Verdict: ACCEPTED

input
1
199999 86251
39385 78288 43911 67919 84237 ...

correct output
NO

user output
NO

Test 42

Subtask: 3, 6

Verdict: ACCEPTED

input
1
180299 600
22 518 108 303 281 289 12 558 ...

correct output
YES
72 72 72 72 72 72 72 72 72 72 ...

user output
YES
595 593 589 588 587 586 584 58...

Test 43

Subtask: 6

Verdict:

input
1
199999 66667
20668 50081 49781 19019 15896 ...

correct output
YES
51630 65011 37598 48090 36015 ...

user output
NO

Feedback: Case #1: Wrong answer "NO", expected YES

Test 44

Subtask: 6

Verdict:

input
1
19999 6667
1986 3956 1623 1323 4207 6379 ...

correct output
YES
1983 1223 3134 733 1608 2137 3...

user output
NO

Feedback: Case #1: Wrong answer "NO", expected YES

Test 45

Subtask: 6

Verdict:

input
1
1999 667
549 405 635 315 596 557 241 42...

correct output
YES
385 164 342 20 313 308 401 656...

user output
NO

Feedback: Case #1: Wrong answer "NO", expected YES

Test 46

Subtask: 6

Verdict:

input
1
199 67
10 54 26 5 16 33 47 3 51 64 47...

correct output
YES
19 45 37 35 17 24 30 48 22 8 3...

user output
NO

Feedback: Case #1: Wrong answer "NO", expected YES

Test 47

Subtask: 5, 6

Verdict:

input
1
19 7
6 2 5 4 3 3 2 7 1 4 4 6 3 5 2 ...

correct output
YES
2 3 4 5 7 6 6 5 3 1 7 4 2 7 4 ...

user output
NO

Feedback: Case #1: Wrong answer "NO", expected YES

Test 48

Subtask: 2, 5, 6

Verdict:

input
1
13 5
4 2 1 3 4 5 5 1 5 3 4 3 1

correct output
YES
1 3 5 4 4 3 2 5 1 5 1 4 3

user output
NO

Feedback: Case #1: Wrong answer "NO", expected YES

Test 49

Subtask: 2, 3, 5, 6

Verdict: ACCEPTED

input
1
5 2
1 1 1 2 1

correct output
YES
1 1 2 1 1

user output
YES
1 1 2 1 1

Test 50

Subtask: 2, 5, 6

Verdict:

input
100
5 4
2 4 1 3 4
5 4
2 4 1 3 2
...

correct output
NO
NO
YES
1 3 2 3 1
YES
...

user output
(empty)

Test 51

Subtask: 2, 5, 6

Verdict:

input
100
15 3
1 3 2 1 3 1 2 2 1 2 1 3 1 3 2
15 3
1 3 3 2 1 1 3 1 2 1 1 2 2 2 1
...

correct output
YES
2 3 3 1 1 1 2 2 2 1 1 1 3 3 2
YES
2 1 1 2 3 1 1 2 3 3 1 2 1 1 2
YES
...

user output
YES
1 2 1 3 2 3 1 2 1 3 2 3 1 2 1
NO
NO
NO
...

Feedback: Case #2: Wrong answer "NO", expected YES

Test 52

Subtask: 2, 5, 6

Verdict:

input
100
15 5
4 4 1 5 3 2 3 2 1 3 1 5 3 5 1
15 4
3 3 3 4 2 1 1 4 4 2 2 1 1 1 1
...

correct output
YES
2 3 3 1 1 4 5 5 5 4 1 1 3 3 2
YES
1 1 1 2 4 3 3 2 4 4 3 2 1 1 1
YES
...

user output
YES
3 1 5 1 3 4 2 5 2 4 3 1 5 1 3
NO
NO
NO
...

Feedback: Case #2: Wrong answer "NO", expected YES

Test 53

Subtask: 2, 5, 6

Verdict:

input
100
15 9
7 8 8 8 4 5 9 3 5 4 2 1 4 4 6
15 8
6 8 4 5 5 2 5 7 8 3 8 8 5 6 1
...

correct output
NO
NO
NO
NO
NO
...

user output
(empty)

Test 54

Subtask: 5, 6

Verdict: ACCEPTED

input
100
2000 3
1 3 2 3 2 2 1 3 1 1 3 2 3 3 3 ...

correct output
NO
NO
NO
NO
NO
...

user output
NO
NO
NO
NO
NO
...

Test 55

Subtask: 5, 6

Verdict: ACCEPTED

input
100
2000 5
4 2 4 3 2 5 5 5 5 3 4 1 3 5 3 ...

correct output
NO
NO
NO
NO
NO
...

user output
NO
NO
NO
NO
NO
...

Test 56

Subtask: 5, 6

Verdict: ACCEPTED

input
100
2000 15
8 7 6 4 7 5 14 15 3 4 8 5 14 8...

correct output
NO
NO
NO
NO
NO
...

user output
NO
NO
NO
NO
NO
...

Test 57

Subtask: 4, 6

Verdict:

input
1
199989 66663
4877 59987 13852 61173 65485 2...

correct output
YES
60320 50363 20007 35623 25982 ...

user output
NO

Feedback: Case #1: Wrong answer "NO", expected YES

Test 58

Subtask: 2, 5, 6

Verdict:

input
1
13 5
3 5 1 3 1 1 4 2 5 3 4 5 4

correct output
YES
5 1 4 3 3 1 2 4 5 4 5 3 1

user output
NO

Feedback: Case #1: Wrong answer "NO", expected YES

Test 59

Subtask: 2, 5, 6

Verdict:

input
1
13 5
1 4 2 1 4 1 3 5 2 2 5 5 4

correct output
YES
4 2 5 1 1 2 3 5 4 5 4 1 2

user output
NO

Feedback: Case #1: Wrong answer "NO", expected YES

Test 60

Subtask: 2, 5, 6

Verdict:

input
1
13 5
1 5 4 4 4 1 5 2 1 2 3 2 5

correct output
YES
5 4 2 1 1 4 3 2 5 2 5 1 4

user output
NO

Feedback: Case #1: Wrong answer "NO", expected YES

Test 61

Subtask: 5, 6

Verdict:

input
1
19 7
5 5 2 4 3 6 5 2 7 3 4 3 2 7 4 ...

correct output
YES
2 6 3 4 7 5 5 4 6 1 7 3 2 7 3 ...

user output
NO

Feedback: Case #1: Wrong answer "NO", expected YES

Test 62

Subtask: 5, 6

Verdict:

input
1
19 7
3 7 7 6 3 6 2 1 4 6 3 5 4 4 1 ...

correct output
YES
7 1 2 6 4 3 3 6 1 5 4 2 7 4 2 ...

user output
NO

Feedback: Case #1: Wrong answer "NO", expected YES

Test 63

Subtask: 5, 6

Verdict:

input
1
19 7
3 5 3 2 6 1 1 6 2 3 6 1 7 7 7 ...

correct output
YES
2 7 1 6 4 3 3 6 7 5 4 1 2 4 1 ...

user output
NO

Feedback: Case #1: Wrong answer "NO", expected YES