Submission details
Task:Blocks
Sender:jsesok
Submission time:2026-04-16 11:36:18 +0300
Language:C++ (C++20)
Status:READY
Result:4
Feedback
subtaskverdictscore
#1ACCEPTED4
#20
#30
#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
#7ACCEPTED0.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
#190.00 s2, 5, 6details
#20ACCEPTED0.09 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.05 s3, 4, 5, 6details
#270.07 s4, 6details
#280.02 s4, 5, 6details
#29ACCEPTED0.10 s4, 6details
#300.02 s3, 4, 5, 6details
#31ACCEPTED0.05 s6details
#32ACCEPTED0.07 s6details
#330.04 s6details
#340.02 s5, 6details
#350.03 s6details
#360.06 s6details
#37ACCEPTED0.07 s6details
#38ACCEPTED0.02 s5, 6details
#39ACCEPTED0.04 s6details
#40ACCEPTED0.06 s6details
#41ACCEPTED0.07 s6details
#420.05 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
#500.00 s2, 5, 6details
#510.01 s2, 5, 6details
#520.00 s2, 5, 6details
#530.00 s2, 5, 6details
#54ACCEPTED0.02 s5, 6details
#55ACCEPTED0.02 s5, 6details
#56ACCEPTED0.04 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);
    int t, n, k, e;
    cin>>t;
    for (int _=0; _<t; ++_)
    {
        cin>>n>>k;
        vector<int> a(n);
        stack<int> s;
        unordered_map<int, int> m;
        priority_queue<pair<int, int>> 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
        {
            e=0;
            for (int i=1; i<=k; ++i)
                q.push({m[i]*((n+1)/2), i});
            vector<int> o(n+1, 0);
            for (int i=n; i>=1; --i)
            {
                if (o[i]==0)
                {
                    if (q.top().first>=i)
                    {
                        o[i]=q.top().second;
                        q.push({q.top().first-i, q.top().second});
                        q.pop();
                    }
                    else
                    {
                        e=-1;
                        break;
                    }
                }
            }
            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: ACCEPTED

input
1
3 3
1 2 3

correct output
NO

user output
NO

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:

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
NO

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

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: ACCEPTED

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

correct output
NO

user output
NO

Test 30

Subtask: 3, 4, 5, 6

Verdict:

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
NO

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

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:

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
NO

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

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
NO
NO
YES
3 1 2 1 3
YES
...

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

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
YES
3 2 1 1 2 3 3 2 1 3 1 2 2 1 1
YES
...

Feedback: Case #2: Set of blocks is incorrect

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
YES
...

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
NO
NO
NO
NO
NO
...

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

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