Submission details
Task:Stations
Sender:Pikaksi
Submission time:2025-03-03 17:56:29 +0200
Language:C++ (C++20)
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
#40
#50
#60
Test results
testverdicttimegroup
#1--1, 6details
#2--1, 6details
#3--1, 6details
#4--1, 3, 6details
#5--1, 3, 6details
#60.00 s1, 3, 6details
#7--1, 6details
#8--1, 6details
#9--1, 6details
#10--1, 6details
#11--1, 6details
#12--1, 6details
#130.00 s1, 2, 3, 4, 5, 6details
#14--2, 3, 4, 5, 6details
#150.39 s3, 6details
#160.39 s3, 6details
#17--4, 5, 6details
#18--3, 4, 5, 6details
#19--3, 4, 5, 6details
#200.00 s1, 3, 4, 5, 6details
#21--4, 5, 6details
#22--4, 5, 6details
#23--4, 5, 6details
#24--5, 6details
#25--5, 6details
#26--5, 6details
#27--5, 6details
#28--5, 6details
#29--5, 6details
#30--5, 6details
#310.39 s6details
#320.39 s6details
#330.39 s6details
#340.39 s6details
#350.39 s6details
#360.39 s6details
#370.39 s6details
#380.39 s6details

Compiler report

input/code.cpp: In function 'bool solve3(ll, std::string&)':
input/code.cpp:57:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   57 |         while (fi < f.size() && l <= f[fi] && f[fi] <= r) {
      |                ~~~^~~~~~~~~~
input/code.cpp:61:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<bool>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   61 |     for (int i = 0; i < fk.size(); i++) {
      |                     ~~^~~~~~~~~~~
input/code.cpp: In function 'void rec(std::string&, int)':
input/code.cpp:88:18: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   88 |     if (s.size() < sz) {
      |         ~~~~~~~~~^~~~
input/code.cpp: In function 'void solve()':
input/code.cpp:120:23: warning: comparis...

Code

#pragma GCC optimize("O3")
#pragma GCC target("arch=skylake")
 
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<ll, ll> ll2;
#define all(x) begin(x), end(x)
#define rall(x) rbegin(x), rend(x)
void solve(); int main() {
    cin.tie(0); ios_base::sync_with_stdio(0);
    solve();
}

int n, m;

void solve1()
{
    int loc;
    cin >> loc;
    int locmin = loc, locmax = loc;
    for (int i = 0; i < m; i++) {
        int a;
        cin >> a;
        locmin = min(locmin, a);
        locmax = max(locmax, a);
    }
    if (locmin < loc && locmax > loc) {
        cout << -1;
    }
    else {
        cout << max(abs(locmin - loc), abs(locmax - loc)) << "\n";
        if (locmin < loc) cout << "L";
        else cout << "R";
    }
}

vector<int> s;
vector<int> f;

bool solve3(ll ans, string& rotation)
{
    vector<bool> fk(m);
    
    int fi = 0;
    for (int i = 0; i < n; i++) {
        int l, r;
        if (rotation[i] == 'L') {
            l = s[i] - ans;
            r = s[i];
        }
        else {
            l = s[i];
            r = s[i] + ans;
        }
        //cout << "flower = " << f[fi] << " l&r = " << l << " " << r << endl;
        while (fi < f.size() && l <= f[fi] && f[fi] <= r) {
            fk[fi++] = true;
        }
    }
    for (int i = 0; i < fk.size(); i++) {
        if (!fk[i]) return false;
    }

    return true;
}

int solve2(string& s)
{
    ll l = 1, r = INT_MAX / 2;
    while (l < r) {
        ll mid = (l + r) / 2;
        if (solve3(mid, s)) {
            r = mid;
        }
        else {
            l = mid + 1;
        }
    }
    return r;
}

string gsans;
int gans = INT_MAX;

void rec(string& s, int sz)
{
    if (s.size() < sz) {
        s.push_back('L');
        rec(s, sz);
        s.pop_back();
        s.push_back('R');
        rec(s, sz);
        s.pop_back();
    }
    else {
        int ans = solve2(s);
        if (gans > ans) {
            gans = ans;
            gsans = s;
        }
        return;
    }
}


void solve()
{
    cin >> n >> m;
    if (n == 1) {
        solve1();
        return;
    }
    s.resize(n);
    f.resize(m);
    for (int i = 0; i < n; i++) cin >> s[i];
    for (int i = 0; i < m; i++) cin >> f[i];

    bool yes = true;
    for (int i = 0; i < s.size(); i += 3) {
        yes &= s[i] == s[i + 1] && s[i] == s[i + 2];
    }
    if (yes) {
        string s;
        int ans = 0;
        for (int i = 0; i < n / 3; i++) {
            s.append("LLR");
        }
        cout << ans << "\n";
        cout << s;
    }
    else {
        string s;
        rec(s, n);
        if (gans < INT_MAX / 2) {
            cout << gans << "\n";
            cout << gsans;
        }
        else cout << -1;
    }
}

Test details

Test 1

Group: 1, 6

Verdict:

input
750 918
159 63 18
573 310 105
135 400 57
618 27 113
...

correct output
0
96
45
94
0
...

user output
(empty)

Test 2

Group: 1, 6

Verdict:

input
967 334
285 176 1
648 431 1
493 893 2
261 165 1
...

correct output
0
0
0
0
0
...

user output
(empty)

Test 3

Group: 1, 6

Verdict:

input
1000 963
408 385 876
23 519 951
649 232 605
821 385 792
...

correct output
0
0
482612
0
912
...

user output
(empty)

Test 4

Group: 1, 3, 6

Verdict:

input
1000 396
412 257 190
290 965 25
399 938 174
980 459 117
...

correct output
215160
138947
196491
47632
103775
...

user output
(empty)

Test 5

Group: 1, 3, 6

Verdict:

input
1000 333
896 853 0
28 756 0
658 183 0
488 17 0
...

correct output
0
0
0
0
0
...

user output
(empty)

Test 6

Group: 1, 3, 6

Verdict:

input
2 31
0 1 31

correct output
0
0

user output
31
RL

Test 7

Group: 1, 6

Verdict:

input
1000 847
24 298 474
208 141 485
789 89 60
1 809 437
...

correct output
16
1080
1966
5980
1856
...

user output
(empty)

Test 8

Group: 1, 6

Verdict:

input
1000 767
476 799 361
271 239 215
447 941 269
219 664 600
...

correct output
1017
997
3988
1996
0
...

user output
(empty)

Test 9

Group: 1, 6

Verdict:

input
1000 1000
574 351 479
444 634 559
531 70 113
180 828 194
...

correct output
17839
4922
3988
0
0
...

user output
(empty)

Test 10

Group: 1, 6

Verdict:

input
1000 1000
680 881 340
73 368 929
303 239 219
861 605 561
...

correct output
88
3990
9954
0
0
...

user output
(empty)

Test 11

Group: 1, 6

Verdict:

input
1000 1000
164 378 963
934 141 358
866 915 598
341 220 55
...

correct output
1996
0
1147
1996
18739
...

user output
(empty)

Test 12

Group: 1, 6

Verdict:

input
1000 537
276 155 470
533 155 391
175 155 343
553 155 270
...

correct output
0
0
0
0
0
...

user output
(empty)

Test 13

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

Verdict:

input
2 1
0 1 1

correct output
0
0

user output
1
LL

Test 14

Group: 2, 3, 4, 5, 6

Verdict:

input
70000 1
50913 18377 1
33894 11911 1
61940 7863 1
61602 33470 1
...

correct output
2128187656
1918647796
1539693556
1198079316
2227641388
...

user output
(empty)

Test 15

Group: 3, 6

Verdict:

input
70000 517272873
57335 18148 62837135
28239 56484 253183094
23004 59130 129215861
558 17489 52424960
...

correct output
450859
215263283
544492560
222149
1276050
...

user output
(empty)

Test 16

Group: 3, 6

Verdict:

input
70000 611016790
21272 16063 50360
30758 33429 30642
23317 5625 9045
66335 5731 24130
...

correct output
69999
102210
23584
30220
0
...

user output
(empty)

Test 17

Group: 4, 5, 6

Verdict:

input
69973 4
44281 27162 1
15299 61302 1
19250 66379 1
45970 65938 1
...

correct output
769608
34960
1162375
626228
2
...

user output
(empty)

Test 18

Group: 3, 4, 5, 6

Verdict:

input
70000 6
12580 20937 2
31244 33335 1
62095 66946 0
2558 64306 2
...

correct output
95678
275287413
81937227
47960445
176569
...

user output
(empty)

Test 19

Group: 3, 4, 5, 6

Verdict:

input
70000 10
45546 20793 0
44801 49720 0
54732 9736 0
64375 18647 0
...

correct output
0
0
0
0
0
...

user output
(empty)

Test 20

Group: 1, 3, 4, 5, 6

Verdict:

input
2 6
0 1 6

correct output
0
0

user output
6
RL

Test 21

Group: 4, 5, 6

Verdict:

input
70000 10
36906 67900 2
51465 24882 0
65531 32406 0
49018 50640 10
...

correct output
0
0
1141061037
69997
0
...

user output
(empty)

Test 22

Group: 4, 5, 6

Verdict:

input
70000 10
40966 26929 6
15381 7596 3
53090 61576 3
6976 65087 2
...

correct output
279988
0
0
56174160
0
...

user output
(empty)

Test 23

Group: 4, 5, 6

Verdict:

input
70000 10
47111 32841 10
510 5994 10
1362 44478 8
61688 30984 5
...

correct output
419980
0
979765
0
1679710
...

user output
(empty)

Test 24

Group: 5, 6

Verdict:

input
70000 7
12257 45873 7
53771 24407 7
67182 59338 2
68981 59097 6
...

correct output
0
0
0
0
56749
...

user output
(empty)

Test 25

Group: 5, 6

Verdict:

input
70000 7
60987 29710 2
40235 14667 3
49803 36218 0
1256 23603 0
...

correct output
559942
0
69996
0
0
...

user output
(empty)

Test 26

Group: 5, 6

Verdict:

input
70000 4
29827 12474 3
52717 68608 1
26411 5022 3
66140 68360 2
...

correct output
419970
0
0
202
0
...

user output
(empty)

Test 27

Group: 5, 6

Verdict:

input
70000 10
41642 65096 7
14235 28073 6
48132 705 7
23384 33897 0
...

correct output
139996
279988
0
0
0
...

user output
(empty)

Test 28

Group: 5, 6

Verdict:

input
70000 10
44002 46661 10
16351 40057 10
62342 69569 2
277 38372 1
...

correct output
0
0
559966
0
0
...

user output
(empty)

Test 29

Group: 5, 6

Verdict:

input
70000 10
11173 32861 3
13926 50906 10
18305 60850 3
13279 836 9
...

correct output
0
139996
2
0
0
...

user output
(empty)

Test 30

Group: 5, 6

Verdict:

input
70000 3
18748 12670 2
56209 12670 2
4918 12670 1
26713 12670 2
...

correct output
0
0
0
0
0
...

user output
(empty)

Test 31

Group: 6

Verdict:

input
67845 886519666
14071 38244 390226
23927 10508 4649507
24776 60617 7933069
44979 29276 6727041
...

correct output
43
0
395
0
81
...

user output
(empty)

Test 32

Group: 6

Verdict:

input
70000 598182175
35387 18369 177725639
34272 27820 390474503
14996 60451 566274308
31897 35730 516503530
...

correct output
0
0
0
2373343036
2449703732
...

user output
(empty)

Test 33

Group: 6

Verdict:

input
70000 307114024
18 68382 208881990
51105 51287 133487858
6935 48425 203987749
30063 35675 238707761
...

correct output
0
5457705
0
420055
0
...

user output
(empty)

Test 34

Group: 6

Verdict:

input
70000 260495634
10465 32381 229572819
59714 8684 92922283
44269 63680 232833764
47600 15978 126514599
...

correct output
350035
839810
1
0
477281
...

user output
(empty)

Test 35

Group: 6

Verdict:

input
70000 1000000000
40606 60962 166792
66689 16700 510579
39392 42623 271902
12827 150 783709
...

correct output
0
0
0
0
0
...

user output
(empty)

Test 36

Group: 6

Verdict:

input
70000 1000000000
18028 63559 764765
43037 44898 469661
22315 22254 359926
32987 69384 314936
...

correct output
0
0
0
0
0
...

user output
(empty)

Test 37

Group: 6

Verdict:

input
70000 1000000000
48195 15915 457746
7436 2784 442186
9122 3611 587852
31354 12943 476363
...

correct output
0
0
0
0
0
...

user output
(empty)

Test 38

Group: 6

Verdict:

input
70000 852351984
54341 29527 743304598
55902 29527 379127182
8584 29527 326761145
21272 29527 850588761
...

correct output
0
0
0
0
0
...

user output
(empty)