CSES - Aalto Competitive Programming 2024 - wk2 - Wed - Results
Submission details
Task:LibBot
Sender:aalto2024b_003
Submission time:2024-09-11 16:49:14 +0300
Language:C++ (C++20)
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.02 sdetails
#2ACCEPTED0.01 sdetails
#3ACCEPTED0.02 sdetails
#4ACCEPTED0.01 sdetails
#5ACCEPTED0.01 sdetails
#6ACCEPTED0.01 sdetails
#7ACCEPTED0.01 sdetails
#8ACCEPTED0.01 sdetails
#9ACCEPTED0.02 sdetails
#10ACCEPTED0.02 sdetails
#11ACCEPTED0.02 sdetails
#12ACCEPTED0.01 sdetails
#13ACCEPTED0.01 sdetails
#14ACCEPTED0.01 sdetails
#15ACCEPTED0.02 sdetails
#16ACCEPTED0.01 sdetails
#17ACCEPTED0.02 sdetails
#18ACCEPTED0.01 sdetails
#19ACCEPTED0.02 sdetails
#20ACCEPTED0.01 sdetails
#21ACCEPTED0.02 sdetails
#22ACCEPTED0.02 sdetails
#23ACCEPTED0.01 sdetails
#24ACCEPTED0.01 sdetails
#25ACCEPTED0.02 sdetails
#26ACCEPTED0.02 sdetails
#27ACCEPTED0.02 sdetails
#28ACCEPTED0.02 sdetails
#29ACCEPTED0.02 sdetails
#30ACCEPTED0.01 sdetails
#31ACCEPTED0.01 sdetails
#32ACCEPTED0.02 sdetails
#33ACCEPTED0.01 sdetails
#34ACCEPTED0.01 sdetails
#35ACCEPTED0.01 sdetails
#36ACCEPTED0.02 sdetails
#37ACCEPTED0.02 sdetails
#38ACCEPTED0.01 sdetails
#39ACCEPTED0.02 sdetails
#40ACCEPTED0.01 sdetails
#41ACCEPTED0.02 sdetails

Compiler report

input/code.cpp: In lambda function:
input/code.cpp:50:20: warning: statement has no effect [-Wunused-value]
   50 | #define debug(...) 42
      |                    ^~
input/code.cpp:88:9: note: in expansion of macro 'debug'
   88 |         debug(got);
      |         ^~~~~
input/code.cpp: In lambda function:
input/code.cpp:50:20: warning: statement has no effect [-Wunused-value]
   50 | #define debug(...) 42
      |                    ^~
input/code.cpp:127:9: note: in expansion of macro 'debug'
  127 |         debug(got);
      |         ^~~~~

Code

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

string to_string(string s) {
    return '"' + s + '"';
}
 
string to_string(const char* s) {
    return to_string((string) s);
}
 
string to_string(bool b) {
    return (b ? "true" : "false");
}
 
template <typename A, typename B>
string to_string(pair<A, B> p) {
    return "(" + to_string(p.first) + ", " + to_string(p.second) + ")";
}
 
template <typename A>
string to_string(A v) {
    bool first = true;
    string res = "{";
    for (const auto &x : v) {
        if (!first) {
            res += ", ";
        }
        first = false;
        res += to_string(x);
    }
    res += "}";
    return res;
}
 
void debug_out() {
    cerr << endl;
}
 
template <typename Head, typename... Tail>
void debug_out(Head H, Tail... T) {
    cerr << " " << to_string(H);
    debug_out(T...);
}
 
#ifdef LOCAL
#define debug(...) cerr << "[" << #__VA_ARGS__ << "]:", debug_out(__VA_ARGS__)
#else
#define debug(...) 42
#endif

const int N = 2e5 + 5;

signed main() {
    cin.tie(0)->sync_with_stdio(0);

    string tmp;
    
    cin >> tmp;
    int n;
    cin >> n;

    cin >> tmp;
    string need;
    cin >> need;

    int mx = n * n * n * n * n;

    auto fetch = [&](int val) {
        cout << "FETCH ";
        cout << ((val / (n * n * n * n)) % n + 1) << ".";
        cout << ((val / (n * n * n)) % n + 1) << ".";
        cout << ((val / (n * n)) % n + 1) << ".";
        cout << ((val / (n)) % n + 1) << ".";
        cout << (val % (n) + 1) << endl;
    };

    // cout << mx - 1 << '\n';
    // fetch(mx - 1);

    auto check1 = [&](int mid) {
        fetch(mid);
        string tmp;
        cin >> tmp;
        string got;
        cin >> got;
        debug(got);
        return got >= need;
    };

    int lo = 0, hi = mx - 1;
    int ans = -1;
    while (lo <= hi) {
        int mid = lo + (hi - lo) / 2;
        if (check1(mid)) {
            ans = mid;
            hi = mid - 1;
        } else {
            lo = mid + 1;
        }
    }

    // there is nothing >= need
    if (ans == -1) {
        cout << "GOT " << 0 << endl;
        return 0;
    }

    // string need doesn't exists
    fetch(ans);
    string tmp1;
    cin >> tmp1;
    string cac;
    cin >> cac;
    if (cac != need) {
        cout << "GOT " << 0 << endl;
        return 0;    
    }

    auto check2 = [&](int mid) {
        fetch(mid);
        string tmp;
        cin >> tmp;
        string got;
        cin >> got;
        debug(got);
        return got == need;
    };

    lo = ans, hi = mx - 1;
    int ans2 = ans;
    while (lo <= hi) {
        int mid = lo + (hi - lo) / 2;
        if (check2(mid)) {
            ans2 = mid;
            lo = mid + 1;
        } else {
            hi = mid - 1;
        }
    }

    cout << "GOT " << ans2 - ans + 1 << endl;
}

Test details

Test 1

Verdict: ACCEPTED

input
2 9
kdg
dl 6
kdg 3
kdgwl 1
...

correct output
(empty)

user output
SIZE 2
COUNT kdg
FETCH 1.2.2.2.2
FOUND kdgyi
FETCH 1.1.2.2.2
...
Truncated

Error:
1 1 1 0

Test 2

Verdict: ACCEPTED

input
3 15
irwkfl
c 26
d 27
e 11
...

correct output
(empty)

user output
SIZE 3
COUNT irwkfl
FETCH 2.2.2.2.2
FOUND fuuics
FETCH 3.1.3.1.3
...
Truncated

Error:
1 1 1 0

Test 3

Verdict: ACCEPTED

input
4 34
gcnmkobrd
bcytu 60
bheb 64
bhebp 26
...

correct output
(empty)

user output
SIZE 4
COUNT gcnmkobrd
FETCH 2.4.4.4.4
FOUND h
FETCH 1.4.4.4.4
...
Truncated

Error:
1 1 1 0

Test 4

Verdict: ACCEPTED

input
5 52
faoluuicsn
a 1
cufqs 30
d 44
...

correct output
(empty)

user output
SIZE 5
COUNT faoluuicsn
FETCH 3.3.3.3.3
FOUND o
FETCH 2.2.2.2.1
...
Truncated

Error:
1 1 1 0

Test 5

Verdict: ACCEPTED

input
6 75
okokxlluuicsnw
a 1
b 51
bxcufq 145
...

correct output
(empty)

user output
SIZE 6
COUNT okokxlluuicsnw
FETCH 3.6.6.6.6
FOUND okhkxlluurcsnwcvbheipdry...
Truncated

Error:
1 1 1 0

Test 6

Verdict: ACCEPTED

input
7 105
jibgewnvmqnpbxvirxmgf
a 1
aqykhme 32
atusxwa 119
...

correct output
(empty)

user output
SIZE 7
COUNT jibgewnvmqnpbxvirxmgf
FETCH 4.4.4.4.4
FOUND n
FETCH 2.6.2.6.2
...
Truncated

Error:
1 1 1 0

Test 7

Verdict: ACCEPTED

input
8 124
djnofmgdbfj
afpc 66
apj 204
apjgsu 105
...

correct output
(empty)

user output
SIZE 8
COUNT djnofmgdbfj
FETCH 4.8.8.8.8
FOUND mdaecaalyy
FETCH 2.8.8.8.8
...
Truncated

Error:
1 1 1 0

Test 8

Verdict: ACCEPTED

input
9 166
qonvyqgibutxey
a 94
act 683
afngrwb 20
...

correct output
(empty)

user output
SIZE 9
COUNT qonvyqgibutxey
FETCH 5.5.5.5.5
FOUND ox
FETCH 7.7.7.7.7
...
Truncated

Error:
1 1 1 0

Test 9

Verdict: ACCEPTED

input
10 211
zuek
axof 303
axofdxjyeevjxifd 397
axofvxnleg 539
...

correct output
(empty)

user output
SIZE 10
COUNT zuek
FETCH 5.10.10.10.10
FOUND moh
FETCH 8.5.10.10.10
...
Truncated

Error:
1 1 1 0

Test 10

Verdict: ACCEPTED

input
10 216
hskapswvzfrbijqwgotkothu
aayuulyq 436
aayuulyqcs 205
aayuulyqcsgjqffbfix 530
...

correct output
(empty)

user output
SIZE 10
COUNT hskapswvzfrbijqwgotkothu
FETCH 5.10.10.10.10
FOUND jogii
FETCH 3.5.10.10.10
...
Truncated

Error:
1 1 1 0

Test 11

Verdict: ACCEPTED

input
9 158
ylhjecnhgyboje
a 691
acd 241
apkcczfzzxrpvlk 88
...

correct output
(empty)

user output
SIZE 9
COUNT ylhjecnhgyboje
FETCH 5.5.5.5.5
FOUND kxtjsyjajvusmj
FETCH 7.7.7.7.7
...
Truncated

Error:
1 1 1 0

Test 12

Verdict: ACCEPTED

input
8 133
ewcm
aavhwtselm 486
aavrwtsejm 170
aayuuly 62
...

correct output
(empty)

user output
SIZE 8
COUNT ewcm
FETCH 4.8.8.8.8
FOUND kjogxxxfyzbvtqxnmiok
FETCH 2.8.8.8.8
...
Truncated

Error:
1 1 1 0

Test 13

Verdict: ACCEPTED

input
7 98
jkpxbvb
awb 326
comccswxez 114
cw 42
...

correct output
(empty)

user output
SIZE 7
COUNT jkpxbvb
FETCH 4.4.4.4.4
FOUND lqsc
FETCH 2.6.2.6.2
...
Truncated

Error:
1 1 1 0

Test 14

Verdict: ACCEPTED

input
6 70
eaymki
alkio 119
alkioruv 72
alkioruvyivod 26
...

correct output
(empty)

user output
SIZE 6
COUNT eaymki
FETCH 3.6.6.6.6
FOUND lzftwy
FETCH 2.3.6.6.6
...
Truncated

Error:
1 1 1 0

Test 15

Verdict: ACCEPTED

input
4 28
unje
biybsjet 60
biybsjetnn 27
bx 45
...

correct output
(empty)

user output
SIZE 4
COUNT unje
FETCH 2.4.4.4.4
FOUND npghbml
FETCH 3.4.4.4.4
...
Truncated

Error:
1 1 1 0

Test 16

Verdict: ACCEPTED

input
9 159
ckfhsouqxvv
a 373
aahay 152
asvvihxxokcevotlncilqbuvhmdkmh...

correct output
(empty)

user output
SIZE 9
COUNT ckfhsouqxvv
FETCH 5.5.5.5.5
FOUND lk
FETCH 3.3.3.3.2
...
Truncated

Error:
1 1 1 0

Test 17

Verdict: ACCEPTED

input
8 117
h
aaha 262
anmuhfjbetlfzdbns 107
awhfbhdbjbuexgbwl 226
...

correct output
(empty)

user output
SIZE 8
COUNT h
FETCH 4.8.8.8.8
FOUND ns
FETCH 2.8.8.8.8
...
Truncated

Error:
1 1 1 0

Test 18

Verdict: ACCEPTED

input
7 106
m
aezpq 42
aokpn 7
aqfkfe 86
...

correct output
(empty)

user output
SIZE 7
COUNT m
FETCH 4.4.4.4.4
FOUND mljjsrvri
FETCH 2.6.2.6.2
...
Truncated

Error:
1 1 1 0

Test 19

Verdict: ACCEPTED

input
7 101
kvtwj
appvlr 240
bguzpylrzkwon 78
bofd 2
...

correct output
(empty)

user output
SIZE 7
COUNT kvtwj
FETCH 4.4.4.4.4
FOUND oekjahqd
FETCH 2.6.2.6.2
...
Truncated

Error:
1 1 1 0

Test 20

Verdict: ACCEPTED

input
2 9
fu
dl 6
kdg 3
kdgwl 1
...

correct output
(empty)

user output
SIZE 2
COUNT fu
FETCH 1.2.2.2.2
FOUND kdgyi
FETCH 1.1.2.2.2
...
Truncated

Error:
1 1 1 0

Test 21

Verdict: ACCEPTED

input
3 15
uvk
c 26
d 27
e 11
...

correct output
(empty)

user output
SIZE 3
COUNT uvk
FETCH 2.2.2.2.2
FOUND fuuics
FETCH 3.1.3.1.3
...
Truncated

Error:
1 1 1 0

Test 22

Verdict: ACCEPTED

input
4 34
jgtx
bcytu 60
bheb 64
bhebp 26
...

correct output
(empty)

user output
SIZE 4
COUNT jgtx
FETCH 2.4.4.4.4
FOUND h
FETCH 3.4.4.4.4
...
Truncated

Error:
1 1 1 0

Test 23

Verdict: ACCEPTED

input
5 52
ghmfq
a 1
cufqs 30
d 44
...

correct output
(empty)

user output
SIZE 5
COUNT ghmfq
FETCH 3.3.3.3.3
FOUND o
FETCH 2.2.2.2.1
...
Truncated

Error:
1 1 1 0

Test 24

Verdict: ACCEPTED

input
6 75
ojuphd
a 1
b 51
bxcufq 145
...

correct output
(empty)

user output
SIZE 6
COUNT ojuphd
FETCH 3.6.6.6.6
FOUND okhkxlluurcsnwcvbheipdry...
Truncated

Error:
1 1 1 0

Test 25

Verdict: ACCEPTED

input
7 105
kzzqfzz
a 1
aqykhme 32
atusxwa 119
...

correct output
(empty)

user output
SIZE 7
COUNT kzzqfzz
FETCH 4.4.4.4.4
FOUND n
FETCH 2.6.2.6.2
...
Truncated

Error:
1 1 1 0

Test 26

Verdict: ACCEPTED

input
8 124
emdxvwdw
afpc 66
apj 204
apjgsu 105
...

correct output
(empty)

user output
SIZE 8
COUNT emdxvwdw
FETCH 4.8.8.8.8
FOUND mdaecaalyy
FETCH 2.8.8.8.8
...
Truncated

Error:
1 1 1 0

Test 27

Verdict: ACCEPTED

input
9 166
pkhsbasuj
a 94
act 683
afngrwb 20
...

correct output
(empty)

user output
SIZE 9
COUNT pkhsbasuj
FETCH 5.5.5.5.5
FOUND ox
FETCH 7.7.7.7.7
...
Truncated

Error:
1 1 1 0

Test 28

Verdict: ACCEPTED

input
10 211
zypqadmqoo
axof 303
axofdxjyeevjxifd 397
axofvxnleg 539
...

correct output
(empty)

user output
SIZE 10
COUNT zypqadmqoo
FETCH 5.10.10.10.10
FOUND moh
FETCH 8.5.10.10.10
...
Truncated

Error:
1 1 1 0

Test 29

Verdict: ACCEPTED

input
10 216
jhagispreh
aayuulyq 436
aayuulyqcs 205
aayuulyqcsgjqffbfix 530
...

correct output
(empty)

user output
SIZE 10
COUNT jhagispreh
FETCH 5.10.10.10.10
FOUND jogii
FETCH 3.5.10.10.10
...
Truncated

Error:
1 1 1 0

Test 30

Verdict: ACCEPTED

input
9 158
zfkmqpzht
a 691
acd 241
apkcczfzzxrpvlk 88
...

correct output
(empty)

user output
SIZE 9
COUNT zfkmqpzht
FETCH 5.5.5.5.5
FOUND kxtjsyjajvusmj
FETCH 7.7.7.7.7
...
Truncated

Error:
1 1 1 0

Test 31

Verdict: ACCEPTED

input
8 133
dogiavnu
aavhwtselm 486
aavrwtsejm 170
aayuuly 62
...

correct output
(empty)

user output
SIZE 8
COUNT dogiavnu
FETCH 4.8.8.8.8
FOUND kjogxxxfyzbvtqxnmiok
FETCH 2.8.8.8.8
...
Truncated

Error:
1 1 1 0

Test 32

Verdict: ACCEPTED

input
7 98
kihqiff
awb 326
comccswxez 114
cw 42
...

correct output
(empty)

user output
SIZE 7
COUNT kihqiff
FETCH 4.4.4.4.4
FOUND lqsc
FETCH 2.6.2.6.2
...
Truncated

Error:
1 1 1 0

Test 33

Verdict: ACCEPTED

input
6 70
eszubi
alkio 119
alkioruv 72
alkioruvyivod 26
...

correct output
(empty)

user output
SIZE 6
COUNT eszubi
FETCH 3.6.6.6.6
FOUND lzftwy
FETCH 2.3.6.6.6
...
Truncated

Error:
1 1 1 0

Test 34

Verdict: ACCEPTED

input
4 28
vyta
biybsjet 60
biybsjetnn 27
bx 45
...

correct output
(empty)

user output
SIZE 4
COUNT vyta
FETCH 2.4.4.4.4
FOUND npghbml
FETCH 3.4.4.4.4
...
Truncated

Error:
1 1 1 0

Test 35

Verdict: ACCEPTED

input
9 159
ctohjykey
a 373
aahay 152
asvvihxxokcevotlncilqbuvhmdkmh...

correct output
(empty)

user output
SIZE 9
COUNT ctohjykey
FETCH 5.5.5.5.5
FOUND lk
FETCH 3.3.3.3.2
...
Truncated

Error:
1 1 1 0

Test 36

Verdict: ACCEPTED

input
8 117
igjxpndn
aaha 262
anmuhfjbetlfzdbns 107
awhfbhdbjbuexgbwl 226
...

correct output
(empty)

user output
SIZE 8
COUNT igjxpndn
FETCH 4.8.8.8.8
FOUND ns
FETCH 2.8.8.8.8
...
Truncated

Error:
1 1 1 0

Test 37

Verdict: ACCEPTED

input
7 106
lslhnht
aezpq 42
aokpn 7
aqfkfe 86
...

correct output
(empty)

user output
SIZE 7
COUNT lslhnht
FETCH 4.4.4.4.4
FOUND mljjsrvri
FETCH 2.6.2.6.2
...
Truncated

Error:
1 1 1 0

Test 38

Verdict: ACCEPTED

input
7 101
hxliesh
appvlr 240
bguzpylrzkwon 78
bofd 2
...

correct output
(empty)

user output
SIZE 7
COUNT hxliesh
FETCH 4.4.4.4.4
FOUND oekjahqd
FETCH 2.6.2.6.2
...
Truncated

Error:
1 1 1 0

Test 39

Verdict: ACCEPTED

input
2 1
fu
dl 32

correct output
(empty)

user output
SIZE 2
COUNT fu
FETCH 1.2.2.2.2
FOUND dl
FETCH 2.1.2.2.2
...
Truncated

Error:
1 1 1 0

Test 40

Verdict: ACCEPTED

input
3 1
fuuicsxvc
fuuicsxvc 243

correct output
(empty)

user output
SIZE 3
COUNT fuuicsxvc
FETCH 2.2.2.2.2
FOUND fuuicsxvc
FETCH 1.3.1.3.1
...
Truncated

Error:
1 1 1 0

Test 41

Verdict: ACCEPTED

input
4 1
bcytu
bcytu 1024

correct output
(empty)

user output
SIZE 4
COUNT bcytu
FETCH 2.4.4.4.4
FOUND bcytu
FETCH 1.4.4.4.4
...
Truncated

Error:
1 1 1 0