Submission details
Task:Blocks
Sender:malena
Submission time:2026-04-16 13:48:22 +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
#130.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
#200.08 s3, 4, 6details
#210.07 s3, 4, 6details
#22ACCEPTED0.06 s3, 4, 5, 6details
#23ACCEPTED0.06 s3, 4, 5, 6details
#24ACCEPTED0.09 s4, 6details
#25ACCEPTED0.08 s4, 6details
#26ACCEPTED0.07 s3, 4, 5, 6details
#270.09 s4, 6details
#280.04 s4, 5, 6details
#29ACCEPTED0.09 s4, 6details
#30ACCEPTED0.06 s3, 4, 5, 6details
#31ACCEPTED0.08 s6details
#32ACCEPTED0.08 s6details
#330.07 s6details
#340.07 s5, 6details
#350.07 s6details
#360.09 s6details
#37ACCEPTED0.09 s6details
#38ACCEPTED0.04 s5, 6details
#39ACCEPTED0.06 s6details
#40ACCEPTED0.07 s6details
#41ACCEPTED0.08 s6details
#42ACCEPTED0.07 s3, 6details
#430.10 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
#50ACCEPTED0.01 s2, 5, 6details
#510.01 s2, 5, 6details
#520.01 s2, 5, 6details
#53ACCEPTED0.01 s2, 5, 6details
#54ACCEPTED0.04 s5, 6details
#55ACCEPTED0.04 s5, 6details
#56ACCEPTED0.04 s5, 6details
#570.08 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 <bits/stdc++.h>
using namespace std;
#define int long long 
#define ve vector
#define pr pair
#define st string
#define mt multiset
#define vi ve<int>
#define va ve<char>
#define vo ve<bool>
#define vd ve<double>
#define vpr ve<pr
#define vii ve<vi>
#define vaa ve<va>
#define voo ve<vo>
#define vdd ve<vd>
#define vppr ve<vpr
#define f first
#define s second
#define z size()
#define rz resize
#define ub upper_bound
#define lb lower_bound
int32_t main(){
    int t;
    cin>>t;
    while(t--){
        double n,k;
        cin>>n>>k;
        vi v(n),c(k+1,0),r(n+1,0);
        for(int i=0;i<n;i++){
            cin>>v[i];
            c[v[i]]++;
        }
        if(count(c.begin(),c.end(),c[1])==k){
            cerr<<"hdj ";
            vi w(k+1);
            int o=c[1];
            for(int i=1;i<=k;i++)w[i]=i;
            for(int i=0;i<o;i++){
                for(int j=1;j<=k;j++){
                    r[k*i+w[j]]=j;
                    c[j]+=k*i+w[j];
                    w[j]++;
                    if(w[j]>k)w[j]=1;
                }
            }
            bool bo=0;
            for(int i=1;i<=k;i++)if(i>1 && c[i]!=c[i-1])bo=1; 
            if(bo)cout<<"NO"<<endl;
            else{
                cout<<"YES"<<endl;
                for(int i=1;i<=n;i++){
                    cout<<r[i]<<" ";
                }
                cout<<endl;
            }
        }
        else if((n-k<=1 && n>3) || (n==3 && k==n))cout<<"NO"<<endl;
        else if(count(c.begin(),c.end(),1)>1)cout<<"NO"<<endl;
        else{
            double m=(n+1)/2, sum=(n*(n+1))/2;
            bool bo=1;
            int a=1,b=n,d=1;
            for(int i=1;i<=k;i++){
                int m2=m*c[i];
                if(m*c[i]!=m2){cout<<"NO"<<endl;bo=0;break;}
                sum-=m2;
                while(c[i]>0){
                    if(c[i]%2==0){
                        r[a-1]=r[b-1]=d;
                        a++; b--;
                        c[i]-=2;
                    }
                    else {
                        r[n/2]=d;
                        c[i]--;
                    }
                }
                d++;
            }
            if(bo){
                if(sum!=0)cout<<"NO"<<endl;
                else {
                    cout<<"YES"<<endl;
                    for(int i=0;i<n;i++)cout<<r[i]<<" ";
                    cout<<endl;
                }
            }
        }
    }
    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 1 2 2 2 1 1 
NO
YES
1 1 

Error:
hdj hdj

Test 2

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

Verdict: ACCEPTED

input
1
1 1
1

correct output
YES
1

user output
YES

Error:
hdj

Test 3

Subtask: 1, 2, 4, 5, 6

Verdict: ACCEPTED

input
1
2 2
1 2

correct output
NO

user output
NO

Error:
hdj

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 

Error:
hdj

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 

Error:
hdj

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

Error:
hdj

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 

Error:
hdj

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
1 2 2 2 1 

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 

Error:
hdj

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

Error:
hdj

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:

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
NO

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

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
Error:
hdj

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 

Error:
hdj

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
YES
1 1 2 3 4 5 0 6 0 5 4 3 2 1 1 

Feedback: Case #1: Set of blocks is incorrect

Test 20

Subtask: 3, 4, 6

Verdict:

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

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

user output
NO

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

Test 21

Subtask: 3, 4, 6

Verdict:

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

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

user output
NO

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

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

Error:
hdj

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

Error:
hdj

Test 24

Subtask: 4, 6

Verdict: ACCEPTED

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

correct output
NO

user output
NO

Error:
hdj

Test 25

Subtask: 4, 6

Verdict: ACCEPTED

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

correct output
NO

user output
NO

Error:
hdj

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

Error:
hdj

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
Error:
hdj

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
Error:
hdj

Test 29

Subtask: 4, 6

Verdict: ACCEPTED

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

correct output
NO

user output
NO

Error:
hdj

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

Error:
hdj

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

Feedback: Case #1: Set of blocks is incorrect

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

Feedback: Case #1: Set of blocks is incorrect

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

Feedback: Case #1: Set of blocks is incorrect

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

Feedback: Case #1: Set of blocks is incorrect

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

Test 43

Subtask: 6

Verdict:

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

correct output
YES
51630 65011 37598 48090 36015 ...

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

Feedback: Case #1: Set of blocks is incorrect

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
YES
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

Feedback: Case #1: Set of blocks is incorrect

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
YES
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

Feedback: Case #1: Set of blocks is incorrect

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
YES
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

Feedback: Case #1: Set of blocks is incorrect

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
YES
2 3 4 5 6 7 0 0 0 7 0 0 0 7 6 ...

Feedback: Case #1: Set of blocks is incorrect

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
YES
1 3 4 5 0 0 5 0 0 5 4 3 1 

Feedback: Case #1: Set of blocks is incorrect

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

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

Error:
hdj hdj hdj hdj hdj hdj

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

Feedback: Case #2: Set of blocks is incorrect
Error:
hdj hdj hdj hdj hdj hdj

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

Feedback: Case #2: Set of blocks is incorrect
Error:
hdj

Test 53

Subtask: 2, 5, 6

Verdict: ACCEPTED

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

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
Error:
hdj

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
YES
1 3 4 5 0 0 5 0 0 5 4 3 1 

Feedback: Case #1: Set of blocks is incorrect

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
YES
1 2 4 5 0 0 5 0 0 5 4 2 1 

Feedback: Case #1: Set of blocks is incorrect

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
YES
1 2 4 5 0 0 5 0 0 5 4 2 1 

Feedback: Case #1: Set of blocks is incorrect

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
YES
2 3 4 5 6 7 0 0 0 7 0 0 0 7 6 ...

Feedback: Case #1: Set of blocks is incorrect

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

Feedback: Case #1: Set of blocks is incorrect

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

Feedback: Case #1: Set of blocks is incorrect