CSES - Datatähti 2025 loppu - Results
Submission details
Task:Leikkijät
Sender:Pikaksi
Submission time:2025-01-18 16:34:50 +0200
Language:C++ (C++20)
Status:READY
Result:23
Feedback
groupverdictscore
#1ACCEPTED5
#2ACCEPTED8
#3ACCEPTED10
#40
#50
#60
Test results
testverdicttimegroup
#1ACCEPTED0.92 s1, 2, 5, 6details
#2ACCEPTED0.92 s1, 2, 3, 5, 6details
#3ACCEPTED0.92 s1, 2, 5, 6details
#4ACCEPTED0.92 s1, 2, 4, 5, 6details
#5ACCEPTED0.92 s2, 5, 6details
#6ACCEPTED0.92 s2, 3, 5, 6details
#7ACCEPTED0.93 s2, 5, 6details
#8ACCEPTED0.92 s2, 4, 5, 6details
#9ACCEPTED0.92 s5, 6details
#10--6details
#11ACCEPTED0.92 s1, 2, 5, 6details
#12--6details
#13ACCEPTED0.92 s3, 5, 6details
#14ACCEPTED0.92 s3, 5, 6details
#15ACCEPTED0.92 s4, 5, 6details
#160.92 s5, 6details
#17--6details
#180.92 s4, 5, 6details
#190.92 s5, 6details
#20--6details
#21--6details
#220.92 s5, 6details

Compiler report

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

Code

#include <bits/stdc++.h>
//#include <ext/pb_ds/assoc_container.hpp>
//#include <ext/pb_ds/tree_policy.hpp>
using namespace std;
typedef long long ll;
// chmod u+x b.sh
void solve(); int main() {
    ios_base::sync_with_stdio(0); cout.tie(0);
    solve();
}

void solve()
{
    map<pair<int, int>, int> ma;
    for (int k = 1; k < 2500; k++) {
        vector<int> order;
        set<int> s;
        for (int i = 1; i <= k; i++) s.insert(i);
        auto it = s.begin();
        bool even = false;
        while (s.size() > 0) {
            auto it2 = it;
            it2++;
            if (it2 == s.end()) {
                it2 = s.begin();
            }
            if (even) {
                //cout << *it << " ";
                order.push_back(*it);
                s.erase(it);
            }
            even = !even;
            it = it2;
        }
        //cout << endl;
        //cout << order[0] << " ";
        for (int i = 0; i < order.size() - 1; i++) {
            //cout << order[i + 1] << " ";
            if (!ma.contains({order[i], order[i + 1]}))
                ma.insert({{order[i], order[i + 1]}, k});
        }
        //cout << endl;
    }
    int t;
    cin >> t;
    for (int i = 0; i < t; i++) {
        int a, b;
        cin >> a >> b;

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


        else if (ma.contains({a, b}))
            cout << ma[{a, b}] << "\n";
        else
            cout << -1 << "\n";
    }
}

Test details

Test 1

Group: 1, 2, 5, 6

Verdict: ACCEPTED

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

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

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

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

Test 4

Group: 1, 2, 4, 5, 6

Verdict: ACCEPTED

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

correct output
65
75
-1
72
98
...

user output
65
75
-1
72
98
...
Truncated

Test 5

Group: 2, 5, 6

Verdict: ACCEPTED

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

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

correct output
98
607
574
713
919
...

user output
98
607
574
713
919
...
Truncated

Test 8

Group: 2, 4, 5, 6

Verdict: ACCEPTED

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

correct output
992
500
777
565
261
...

user output
992
500
777
565
261
...
Truncated

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

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

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

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