CSES - Datatähti 2025 loppu - Results
Submission details
Task:Leikkijät
Sender:MikaelM
Submission time:2025-01-18 16:59:25 +0200
Language:C++ (C++17)
Status:READY
Result:10
Feedback
groupverdictscore
#10
#20
#3ACCEPTED10
#40
#50
#60
Test results
testverdicttimegroup
#10.29 s1, 2, 5, 6details
#2ACCEPTED0.00 s1, 2, 3, 5, 6details
#30.76 s1, 2, 5, 6details
#40.57 s1, 2, 4, 5, 6details
#50.36 s2, 5, 6details
#6ACCEPTED0.00 s2, 3, 5, 6details
#7--2, 5, 6details
#8--2, 4, 5, 6details
#9ACCEPTED0.35 s5, 6details
#10--6details
#110.19 s1, 2, 5, 6details
#12--6details
#13ACCEPTED0.00 s3, 5, 6details
#14ACCEPTED0.00 s3, 5, 6details
#15ACCEPTED0.35 s4, 5, 6details
#16--5, 6details
#17--6details
#18--4, 5, 6details
#190.79 s5, 6details
#20--6details
#21--6details
#22--5, 6details

Compiler report

input/code.cpp: In function 'void solve()':
input/code.cpp:59:44: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   59 |             for (int i = (vika ? 1 : 0); i < v.size(); i += 2) {
      |                                          ~~^~~~~~~~~~
input/code.cpp:61:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   61 |                 if (i == v.size()-1) {
      |                     ~~^~~~~~~~~~~~~

Code

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


void solve() {

    int a, b;
    cin >> a >> b;


    if (a % 2 == 0) {

    
        if (a == 2 && b == 1) cout << "2\n";
    
        else if (a == b) cout << "-1\n";
    
        else if (b % 2 == 0) {
            if (a+2 == b) cout << b << "\n";
            else cout << "-1\n";
        }
    
        else if (b == 1) cout << a + 1 << "\n";
        else if (b == 3 && a != 2) cout << a << "\n";
        else cout << "-1\n";

        return;

    }

    if (a % 2 == 1 && b % 2 == 0) {
        cout << "-1\n";
        return;
    }

    if (a == b) {
        cout << "-1\n";
        return;
    }

    int n = 1;


    while (n <= 500) {

        vector<int> v, poistetut;
        for (int i = 1; i <= n; i++) v.push_back(i);

        bool vika = false;

        int ed = 0;
        while (!v.empty()) {

            vector<int> u;


            for (int i = (vika ? 1 : 0); i < v.size(); i += 2) {
                u.push_back(v[i]);
                if (i == v.size()-1) {
                    vika = true;
                    // cout << "Poistetaan " << u.front() << "\n";
                    // poistetut.push_back(u.front());

                    if (ed == a && u.front() == b) {
                        cout << n << "\n";
                        return;
                    }
                    ed = u.front();
                }
                else {
                    // poistetut.push_back(v[i+1]);
                    // cout << "Poistetaan " << (v[i+1]) << "\n";

                    if (ed == a && v[i+1] == b) {
                        cout << n << "\n";
                        return;
                    }
                    ed = v[i+1];
                } 
            }

            v = u;

        }

        // for (int i = 0; i < poistetut.size(); i++) {
        //     if (poistetut[i] == a && poistetut[i+1] == b) {
        //         cout << n << "\n";
        //         return;
        //     }
        // }


        n++;
    }

    cout << "-1\n";



}










int main() {
    ios_base::sync_with_stdio(0); cin.tie(0);

    // freopen("input.txt", "r", stdin);
    // freopen("output.txt", "w", stdout);

    int t;
    cin >> t;
    while (t--) solve();

}

Test details

Test 1

Group: 1, 2, 5, 6

Verdict:

input
1000
42 100
73 94
1 13
31 100
...

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

user output
-1
-1
-1
-1
-1
...
Truncated

Test 2

Group: 1, 2, 3, 5, 6

Verdict: ACCEPTED

input
1000
54 3
42 44
30 1
52 3
...

correct output
54
44
31
52
15
...

user output
54
44
31
52
15
...
Truncated

Test 3

Group: 1, 2, 5, 6

Verdict:

input
1000
27 25
81 65
45 43
87 23
...

correct output
-1
-1
-1
139
-1
...

user output
-1
-1
-1
-1
-1
...
Truncated

Test 4

Group: 1, 2, 4, 5, 6

Verdict:

input
1000
55 63
39 71
95 96
61 69
...

correct output
65
75
-1
72
98
...

user output
-1
-1
-1
72
-1
...
Truncated

Test 5

Group: 2, 5, 6

Verdict:

input
1000
222 56
871 832
207 364
919 980
...

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

user output
-1
-1
-1
-1
-1
...
Truncated

Test 6

Group: 2, 3, 5, 6

Verdict: ACCEPTED

input
1000
892 3
332 334
820 822
42 1
...

correct output
892
334
822
43
108
...

user output
892
334
822
43
108
...
Truncated

Test 7

Group: 2, 5, 6

Verdict:

input
1000
77 93
319 575
509 381
675 707
...

correct output
98
607
574
713
919
...

user output
(empty)

Test 8

Group: 2, 4, 5, 6

Verdict:

input
1000
969 985
233 489
403 659
427 555
...

correct output
992
500
777
565
261
...

user output
(empty)

Test 9

Group: 5, 6

Verdict: ACCEPTED

input
1000
10375 364462
501875 499131
495774 7544
133830 316225
...

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

user output
-1
-1
-1
-1
-1
...
Truncated

Test 10

Group: 6

Verdict:

input
100000
771321 298762
20752 494590
633649 443015
748804 831912
...

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

user output
(empty)

Test 11

Group: 1, 2, 5, 6

Verdict:

input
900
1 1
1 2
1 3
1 4
...

correct output
-1
-1
3
-1
5
...

user output
-1
-1
3
-1
5
...
Truncated

Test 12

Group: 6

Verdict:

input
90000
1 1
1 2
1 3
1 4
...

correct output
-1
-1
3
-1
5
...

user output
(empty)

Test 13

Group: 3, 5, 6

Verdict: ACCEPTED

input
1000
237542 859435
965750 179154
972602 758585
453450 751662
...

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

user output
-1
-1
-1
-1
-1
...
Truncated

Test 14

Group: 3, 5, 6

Verdict: ACCEPTED

input
1000
773164 1
870426 1
309736 309738
957602 957604
...

correct output
773165
870427
309738
957604
513118
...

user output
773165
870427
309738
957604
513118
...
Truncated

Test 15

Group: 4, 5, 6

Verdict: ACCEPTED

input
1000
178896 591355
54364 110987
361539 818612
275401 926643
...

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

user output
-1
-1
-1
-1
-1
...
Truncated

Test 16

Group: 5, 6

Verdict:

input
1000
704481 704465
696919 688727
941011 949203
171023 171025
...

correct output
-1
-1
951785
-1
-1
...

user output
(empty)

Test 17

Group: 6

Verdict:

input
100000
67901 133437
637521 637537
742567 742569
864043 864044
...

correct output
148638
637540
-1
-1
652457
...

user output
(empty)

Test 18

Group: 4, 5, 6

Verdict:

input
1000
650375 650377
181841 443985
750137 750138
256969 322505
...

correct output
-1
484136
-1
341476
850152
...

user output
(empty)

Test 19

Group: 5, 6

Verdict:

input
1000
1 3
1 5
1 9
1 17
...

correct output
3
5
10
20
40
...

user output
3
5
10
20
40
...
Truncated

Test 20

Group: 6

Verdict:

input
100000
1 3
1 5
1 9
1 17
...

correct output
3
5
10
20
40
...

user output
(empty)

Test 21

Group: 6

Verdict:

input
100000
999999 1
999999 3
999999 5
999999 7
...

correct output
1000002
1000005
1000000
1000011
1000001
...

user output
(empty)

Test 22

Group: 5, 6

Verdict:

input
1000
999999 1
999999 3
999999 5
999999 7
...

correct output
1000002
1000005
1000000
1000011
1000001
...

user output
(empty)