Submission details
Task:Blocks
Sender:MRiekasius
Submission time:2026-04-16 14:57:53 +0300
Language:C++ (C++20)
Status:READY
Result:0
Feedback
subtaskverdictscore
#10
#20
#30
#40
#50
#60
Test results
testverdicttimesubtask
#10.00 s2, 5, 6details
#20.00 s1, 2, 3, 4, 5, 6details
#30.00 s1, 2, 4, 5, 6details
#40.00 s1, 2, 3, 4, 5, 6details
#50.00 s1, 2, 3, 4, 5, 6details
#60.00 s1, 2, 3, 5, 6details
#70.00 s1, 2, 4, 5, 6details
#80.00 s2, 3, 4, 5, 6details
#90.00 s2, 3, 5, 6details
#100.00 s2, 3, 4, 5, 6details
#110.00 s2, 4, 5, 6details
#120.00 s2, 5, 6details
#130.00 s2, 3, 4, 5, 6details
#140.00 s2, 5, 6details
#150.00 s2, 5, 6details
#160.00 s2, 4, 5, 6details
#170.00 s2, 3, 4, 5, 6details
#180.00 s2, 5, 6details
#190.00 s2, 5, 6details
#20--3, 4, 6details
#21--3, 4, 6details
#220.05 s3, 4, 5, 6details
#230.06 s3, 4, 5, 6details
#24--4, 6details
#25--4, 6details
#260.06 s3, 4, 5, 6details
#27--4, 6details
#280.06 s4, 5, 6details
#29--4, 6details
#300.06 s3, 4, 5, 6details
#31--6details
#32--6details
#330.15 s6details
#340.06 s5, 6details
#350.07 s6details
#361.75 s6details
#37--6details
#380.06 s5, 6details
#390.07 s6details
#401.74 s6details
#41--6details
#420.14 s3, 6details
#43--6details
#440.12 s6details
#450.01 s6details
#460.00 s6details
#470.00 s5, 6details
#480.00 s2, 5, 6details
#490.00 s2, 3, 5, 6details
#500.00 s2, 5, 6details
#510.00 s2, 5, 6details
#520.00 s2, 5, 6details
#530.00 s2, 5, 6details
#540.01 s5, 6details
#550.00 s5, 6details
#560.00 s5, 6details
#57--4, 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

Compiler report

input/code.cpp: In function 'std::pair<bool, std::vector<int> > dfs(std::vector<int>&, std::vector<int>&, int, int)':
input/code.cpp:6:22: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
    6 |     if(blokai.size() == n){
      |        ~~~~~~~~~~~~~~^~~~
input/code.cpp:22:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   22 |     for(int i = 0; i < spalvuKiekiai.size(); i++){
      |                    ~~^~~~~~~~~~~~~~~~~~~~~~

Code

#include <bits/stdc++.h>
using namespace std;


pair<bool, vector<int>> dfs(vector<int>& spalvuKiekiai, vector<int>& blokai, int n, int k){
    if(blokai.size() == n){
        vector<int> SpalvosSuma(k, 0), SpalvosKiekis(k, 0);
        bool buvoTink = true;
        for(int i = 0; i < n; i++){
           SpalvosSuma[blokai[i] - 1] += i + 1;
           SpalvosKiekis[blokai[i] - 1]++;
        }
        int reikiamaReiksmeKartDu = n + 1;
        for(int i = 0; i < k; i++){
            const int sumaKartDu = SpalvosSuma[i] * 2;
            if(sumaKartDu % SpalvosKiekis[i] != 0 || sumaKartDu / SpalvosKiekis[i] != reikiamaReiksmeKartDu){
                buvoTink = false;
            }
        }
        return {buvoTink, blokai};
    }
    for(int i = 0; i < spalvuKiekiai.size(); i++){
        if(spalvuKiekiai[i] > 0){
            spalvuKiekiai[i]--;
            blokai.push_back(i);
            auto ans = dfs(spalvuKiekiai, blokai, n, k);
            if(ans.first == true) return ans;
            blokai.pop_back();
            spalvuKiekiai[i]++;
        }
    }
    return {false, blokai};
}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    int t;
    cin >> t;
    while(t--){
        int n, k;
        cin >> n >> k;
        vector<int> spalvuKiekiai(k);
        vector<int> ans(n);

        for(int i = 0; i < n; i++){
            int x;
            cin >> x;

            spalvuKiekiai[x - 1]++;
        }
        vector<int> blokai;
        auto ats = dfs(spalvuKiekiai, blokai, n, k);
        if(ats.first == true){
            cout << "YES\n";
            for(auto i: ats.second) cout <<i << " ";
            cout << "\n";
        }
        cout << "NO\n";
    }

}

Test details

Test 1

Subtask: 2, 5, 6

Verdict:

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
(empty)

Test 2

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

Verdict:

input
1
1 1
1

correct output
YES
1

user output
(empty)

Test 3

Subtask: 1, 2, 4, 5, 6

Verdict:

input
1
2 2
1 2

correct output
NO

user output
(empty)

Test 4

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

Verdict:

input
1
2 1
1 1

correct output
YES
1 1

user output
(empty)

Test 5

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

Verdict:

input
1
3 1
1 1 1

correct output
YES
1 1 1

user output
(empty)

Test 6

Subtask: 1, 2, 3, 5, 6

Verdict:

input
1
3 2
2 1 2

correct output
YES
2 1 2

user output
(empty)

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:

input
1
4 2
2 1 2 1

correct output
YES
1 2 2 1

user output
(empty)

Test 9

Subtask: 2, 3, 5, 6

Verdict:

input
1
5 2
2 1 2 1 2

correct output
YES
1 2 2 2 1

user output
(empty)

Test 10

Subtask: 2, 3, 4, 5, 6

Verdict:

input
1
5 1
1 1 1 1 1

correct output
YES
1 1 1 1 1

user output
(empty)

Test 11

Subtask: 2, 4, 5, 6

Verdict:

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

correct output
NO

user output
(empty)

Test 12

Subtask: 2, 5, 6

Verdict:

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

correct output
NO

user output
(empty)

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
(empty)

Test 14

Subtask: 2, 5, 6

Verdict:

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

correct output
NO

user output
(empty)

Test 15

Subtask: 2, 5, 6

Verdict:

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

correct output
NO

user output
(empty)

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
(empty)

Test 17

Subtask: 2, 3, 4, 5, 6

Verdict:

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
(empty)

Test 18

Subtask: 2, 5, 6

Verdict:

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

correct output
NO

user output
(empty)

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
(empty)

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
(empty)

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
(empty)

Test 22

Subtask: 3, 4, 5, 6

Verdict:

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
(empty)

Test 23

Subtask: 3, 4, 5, 6

Verdict:

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
(empty)

Test 24

Subtask: 4, 6

Verdict:

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

correct output
NO

user output
(empty)

Test 25

Subtask: 4, 6

Verdict:

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

correct output
NO

user output
(empty)

Test 26

Subtask: 3, 4, 5, 6

Verdict:

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
(empty)

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
(empty)

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
(empty)

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:

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
(empty)

Test 31

Subtask: 6

Verdict:

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

correct output
NO

user output
(empty)

Test 32

Subtask: 6

Verdict:

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

correct output
NO

user output
(empty)

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
(empty)

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
(empty)

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
(empty)

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
(empty)

Test 37

Subtask: 6

Verdict:

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

correct output
NO

user output
(empty)

Test 38

Subtask: 5, 6

Verdict:

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

correct output
NO

user output
(empty)

Test 39

Subtask: 6

Verdict:

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

correct output
NO

user output
(empty)

Test 40

Subtask: 6

Verdict:

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

correct output
NO

user output
(empty)

Test 41

Subtask: 6

Verdict:

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

correct output
NO

user output
(empty)

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
(empty)

Test 43

Subtask: 6

Verdict:

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

correct output
YES
51630 65011 37598 48090 36015 ...

user output
(empty)

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
(empty)

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
(empty)

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
(empty)

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
(empty)

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
(empty)

Test 49

Subtask: 2, 3, 5, 6

Verdict:

input
1
5 2
1 1 1 2 1

correct output
YES
1 1 2 1 1

user output
(empty)

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
(empty)

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
(empty)

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:

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
(empty)

Test 55

Subtask: 5, 6

Verdict:

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
(empty)

Test 56

Subtask: 5, 6

Verdict:

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
(empty)

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
(empty)

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
(empty)

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
(empty)

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
(empty)

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
(empty)

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
(empty)

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
(empty)