QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#712146#9535. Arrow a RownekoyellowAC ✓19ms5316kbC++231.4kb2024-11-05 14:41:162024-11-05 14:41:18

Judging History

This is the latest submission verdict.

  • [2024-11-05 14:41:18]
  • Judged
  • Verdict: AC
  • Time: 19ms
  • Memory: 5316kb
  • [2024-11-05 14:41:16]
  • Submitted

answer

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

void solve() {
    string s;
    cin >> s;
    int n = s.size();
    if (s[0] != '>') {
        cout << "No\n";
        return;
    }
    if (s[n-1] != '>' || s[n-2] != '>' || s[n-3] != '>') {
        cout << "No\n";
        return;
    }
    if (count(s.begin(), s.end(), '-') == 0) {
        cout << "No\n";
        return;
    }

    vector<pair<int, int>> a1, a2;
    int bg = 1e9, ed = -1;
    for (int i = 0; i < n; i++) {
        if (s[i] == '>') {
            if (bg <= ed) {
                a1.emplace_back(bg-1, ed+3);
                bg = 1e9, ed = -1;
            }
        } else {
            bg = min(bg, i), ed = max(ed, i);
        }
    }

    int prev = 0;
    for (auto [l, r]: a1) {
        for (int i = prev; i < l; i++) {
            a2.emplace_back(i, i+4);
        }
        prev = r+1;
    }
    reverse(a2.begin(), a2.end());
    for (int i = prev-4; i < n-4; i++) {
        a2.emplace_back(i, i+4);
    }
    reverse(a2.begin(), a2.end());

    cout << "Yes " << a1.size() + a2.size() << '\n';
    for (auto [l, r]: a2) {
        cout << l+1 << ' ' << r-l+1 << '\n';
    }
    for (auto [l, r]: a1) {
        cout << l+1 << ' ' << r-l+1 << '\n';
    }
}

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

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

    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3628kb

input:

4
>>->>>
>>>->
>>>>>
>->>>>>>

output:

Yes 2
1 5
2 5
No
No
Yes 4
4 5
3 5
2 5
1 5

result:

ok ok (4 test cases)

Test #2:

score: 0
Accepted
time: 0ms
memory: 3860kb

input:

126
>->-->>>>
>--->->>>>
>--->-->>>
>>-->->>>
>>-->>>>>
>>->->>>>
>>->>->>>>
>-->->->>>
>->->>>>>>
>->>>
>->->>>>>
>>>->->>>
>>->>>>>>>
>>>>>->>>
>->>>->>>
>>--->->>>
>>->>>>
>->>>>->>>
>>>>-->>>
>---->>>
>>>---->>>
>>>>->>>>
>->>-->>>
>-->-->>>>
>>---->>>
>>--->>>
>->>>-->>>
>>-->>>>
>>---->>>>
>>-...

output:

Yes 3
5 5
1 5
3 6
Yes 3
6 5
1 7
5 5
Yes 2
1 7
5 6
Yes 3
1 5
2 6
5 5
Yes 4
5 5
4 5
1 5
2 6
Yes 4
5 5
1 5
2 5
4 5
Yes 4
6 5
1 5
2 5
5 5
Yes 3
1 6
4 5
6 5
Yes 5
6 5
5 5
4 5
1 5
3 5
Yes 1
1 5
Yes 4
5 5
4 5
1 5
3 5
Yes 4
1 5
2 5
3 5
5 5
Yes 6
6 5
5 5
4 5
3 5
1 5
2 5
Yes 5
1 5
2 5
3 5
4 5
5 5
Yes 2
1 5
5 ...

result:

ok ok (126 test cases)

Test #3:

score: 0
Accepted
time: 3ms
memory: 3564kb

input:

4032
>>--->>>>>>>>
>->>->->-->->>>
>>--->>--->>>
>>->->->>>>>>>>
>->---->->>>
>->>->>---->>>>
>>>>>>>>->>>>
>->>>--->>>->>>
>->>->>-->>>>>>
>->>-->---->>>
>-->--->>>->>>
>->---->>-->>>>
>>------>>>
>>>-->>--->>>>>
>->->->>-->>>>
>->->-->>->->>>
>>->>>>-->->>>>
>>>-->>->--->>>
>->->>>>>->>>>
>>-->->>...

output:

Yes 7
9 5
8 5
7 5
6 5
5 5
1 5
2 7
Yes 5
1 5
4 5
6 5
8 6
11 5
Yes 3
1 5
2 7
7 7
Yes 9
11 5
10 5
9 5
8 5
7 5
1 5
2 5
4 5
6 5
Yes 3
1 5
3 8
8 5
Yes 4
11 5
1 5
4 5
7 8
Yes 9
9 5
1 5
2 5
3 5
4 5
5 5
6 5
7 5
8 5
Yes 3
1 5
5 7
11 5
Yes 6
11 5
10 5
9 5
1 5
4 5
7 6
Yes 3
1 5
4 6
7 8
Yes 3
1 6
4 7
10 5
Yes 4
...

result:

ok ok (4032 test cases)

Test #4:

score: 0
Accepted
time: 7ms
memory: 3780kb

input:

10000
>>>>->->>->>->>>>
>->-->>->>->>>>>>
>->->>-->--->>>>>
>---->-->->>>>>>>
>->-->>--->>->>>>
>->>->>>>>>-->>>
>>--->->-->>->>>
>-->---->>>->>>
>->----->->->>>>>
>>--->---->-->>>>
>>-->->->--->>>
>----->>-->>->>>>
>-->->->>>>>->>>>
>>->>---->-->>>
>>->>-->>>-->>>
>------>->>>->>>>
>->->-->->>>->>>...

output:

Yes 8
13 5
1 5
2 5
3 5
4 5
6 5
9 5
12 5
Yes 7
13 5
12 5
11 5
1 5
3 6
7 5
10 5
Yes 6
13 5
12 5
1 5
3 5
6 6
9 7
Yes 7
13 5
12 5
11 5
10 5
1 8
6 6
9 5
Yes 5
13 5
1 5
3 6
7 7
12 5
Yes 5
9 5
10 5
1 5
4 5
11 6
Yes 5
1 5
2 7
6 5
8 6
12 5
Yes 3
1 6
4 8
11 5
Yes 6
13 5
12 5
1 5
3 9
9 5
11 5
Yes 5
13 5
1 5
2 ...

result:

ok ok (10000 test cases)

Test #5:

score: 0
Accepted
time: 9ms
memory: 3616kb

input:

10000
>>>-->>>>-->---->->->-->>>
>>-->>>>->-->>->>>
>->-->--->--->->-->>--->>->->>-->->->>>>>>->>>>----->->--->>----->>-->>>----->->->>>--->>->>-->->->->---->>->>>-->>->->>>->->>>>->>->->>-->>>->>->>-->>>>-->>-->>>->>->->>>--->>>-->>>--->>->->>>>>->->---->>>>->>>
->->>>>--->>>>>>->>>->>>>->->-->-->>...

output:

Yes 8
1 5
2 5
3 6
9 6
12 8
17 5
19 5
21 6
Yes 5
1 5
2 6
8 5
10 6
14 5
Yes 58
40 5
41 5
194 5
1 5
3 6
6 7
10 7
14 5
16 6
20 7
25 5
27 5
30 6
33 5
35 5
42 5
47 9
53 5
55 7
60 9
67 6
72 9
78 5
80 5
84 7
89 5
92 6
95 5
97 5
99 5
101 8
107 5
111 6
115 5
117 5
121 5
123 5
128 5
131 5
133 5
136 6
141 5
144...

result:

ok ok (10000 test cases)

Test #6:

score: 0
Accepted
time: 9ms
memory: 3568kb

input:

9999
->->--->>>>->->--->>--
->>>--->>>-->>--->>---
-->>>>>>>-
>>>->>>>>>>--
>>-->-->->----->->>>>->>->---->->
>-->->>>--->->->>->->-
>->--->--->>>>->>>----->------>>-->->>>
>>->>>->>>---->>>->>>>>>>>>->--->>->>>>>-->>>->->->>-->->--->->-->->>->->->>-->-->>>>>>>>--->>--->->>>-->->----->>-->->>--->-->...

output:

No
No
No
No
No
No
Yes 8
1 5
3 7
7 7
14 5
18 9
24 10
32 6
35 5
Yes 43
1 5
22 5
23 5
24 5
25 5
26 5
39 5
85 5
86 5
87 5
88 5
2 5
6 5
10 8
17 5
27 5
29 7
34 5
40 6
45 5
47 5
49 5
52 6
55 5
57 7
61 5
63 6
66 5
69 5
71 5
73 5
76 6
79 6
89 7
94 7
98 5
102 6
105 5
107 9
114 6
117 5
120 7
124 6
Yes 28
92 5
...

result:

ok ok (9999 test cases)

Test #7:

score: 0
Accepted
time: 7ms
memory: 3960kb

input:

5
>-->>>>>--->->->>->>>>>->->-->-->->>>-->->--->>>------>->>-->>>------->>---->-->>>>>>-->>--->>-->->->>>>->-->------>>->>>>->>>-->---->--->>-->-->->--->->->->->>->-->->--->>>>->>->--->->>-->>>>>>->>>>->>--->->>-->>->->---->>>->->>->>->--->->->-->->>->->-->->------>>>->>>>>->>-->>->>>->>>>>----->---...

output:

No
No
Yes 27013
1 5
2 5
63 5
126 5
127 5
192 5
212 5
381 5
382 5
451 5
468 5
469 5
470 5
509 5
510 5
511 5
512 5
513 5
514 5
536 5
559 5
560 5
628 5
644 5
645 5
646 5
700 5
701 5
702 5
703 5
704 5
937 5
938 5
939 5
940 5
941 5
942 5
943 5
949 5
950 5
974 5
975 5
1075 5
1076 5
1093 5
1178 5
1179 5
11...

result:

ok ok (5 test cases)

Test #8:

score: 0
Accepted
time: 12ms
memory: 5316kb

input:

5
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>...

output:

No
Yes 99996
99996 5
1 5
2 5
3 5
4 5
5 5
6 5
7 5
8 5
9 5
10 5
11 5
12 5
13 5
14 5
15 5
16 5
17 5
18 5
19 5
20 5
21 5
22 5
23 5
24 5
25 5
26 5
27 5
28 5
29 5
30 5
31 5
32 5
33 5
34 5
35 5
36 5
37 5
38 5
39 5
40 5
41 5
42 5
43 5
44 5
45 5
46 5
47 5
48 5
49 5
50 5
51 5
52 5
53 5
54 5
55 5
56 5
57 5
58 ...

result:

ok ok (5 test cases)

Test #9:

score: 0
Accepted
time: 14ms
memory: 3804kb

input:

20
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>...

output:

Yes 24988
24996 5
24995 5
24994 5
24993 5
24992 5
24991 5
24990 5
24989 5
24988 5
24987 5
24986 5
24985 5
24984 5
24983 5
24982 5
24981 5
24980 5
24979 5
24978 5
24977 5
24976 5
24975 5
24974 5
24973 5
24972 5
24971 5
24970 5
24969 5
24968 5
24967 5
24966 5
24965 5
24964 5
24963 5
24962 5
24961 5
24...

result:

ok ok (20 test cases)

Test #10:

score: 0
Accepted
time: 19ms
memory: 3856kb

input:

20
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>...

output:

Yes 24996
24996 5
24995 5
24994 5
24993 5
24992 5
24991 5
24990 5
24989 5
24988 5
24987 5
24986 5
24985 5
24984 5
24983 5
24982 5
24981 5
24980 5
24979 5
24978 5
24977 5
24976 5
24975 5
24974 5
24973 5
24972 5
24971 5
24970 5
24969 5
24968 5
24967 5
24966 5
24965 5
24964 5
24963 5
24962 5
24961 5
24...

result:

ok ok (20 test cases)

Extra Test:

score: 0
Extra Test Passed