QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#714294#9535. Arrow a Rowiwew#AC ✓21ms5680kbC++202.1kb2024-11-05 22:27:312024-11-05 22:27:36

Judging History

This is the latest submission verdict.

  • [2024-11-05 22:27:36]
  • Judged
  • Verdict: AC
  • Time: 21ms
  • Memory: 5680kb
  • [2024-11-05 22:27:31]
  • Submitted

answer

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

typedef long long ll;

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

    int T;
    cin >> T;
    while(T -- ) {
        string s;
        cin >> s;

        bool ok = true;
        if(s[0] == '-') ok = false;
        for(int i = (int)s.length() - 3; i < (int)s.length(); i ++ ) {
            if(s[i] == '-') {
                ok = false;
            }
        }
        bool has = false;
        for(int i = 1; i < s.length(); i ++ ) {
            if(s[i] == '-') {
                has = true;
                break;
            }
        }
        if(ok && !has) ok = false;

        vector<int> nums(s.length(), 0);
        for(int i = 0; i < s.length(); i ++ ) {
            if(s[i] == '-') {
                nums[i] = 1;
            }
        }
        for(int i = s.length() - 2; i >= 0; i -- ) nums[i] += nums[i + 1];

        if(!ok) cout << "No" << '\n';
        else {
            vector<pair<int, int>> ans;
            for(int i = 0; i < (int)s.length() - 4; i ++ ) {
                if(s[i + 1] == '-') {
                    int j = i + 1;
                    while(j + 1 < (int)s.length() && s[j + 1] == '-') {
                        j += 1;
                    }
        
                    if(nums[j + 1] == 0) {
                        for(int k = (int)s.length() - 5; k >= j; k -- ) {
                            ans.push_back({k + 1, 5});
                        }
                        int len = j - (i + 1) + 1;
                        ans.push_back({i + 1, len + 4});
                        
                        break;
                    }
                    int len = j - (i + 1) + 1;
                    ans.push_back({i + 1, len + 4});

                    i = j;
                } else {
                    ans.push_back({i + 1, 5});
                }
            }

            cout << "Yes" << ' ' << (int)ans.size() << '\n';
            for(auto [l, r] : ans) {
                cout << l << ' ' << r << '\n';
            }
        }
    }
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

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: 3660kb

input:

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

output:

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

result:

ok ok (126 test cases)

Test #3:

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

input:

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

output:

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

result:

ok ok (4032 test cases)

Test #4:

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

input:

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

output:

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

result:

ok ok (10000 test cases)

Test #5:

score: 0
Accepted
time: 11ms
memory: 3608kb

input:

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

output:

Yes 11
1 5
2 5
3 6
6 5
7 5
8 5
9 6
12 8
17 5
19 5
21 6
Yes 9
1 5
2 6
5 5
6 5
7 5
8 5
10 6
13 5
14 5
Yes 110
1 5
3 6
6 7
10 7
14 5
16 6
19 5
20 7
24 5
25 5
27 5
29 5
30 6
33 5
35 5
37 5
38 5
39 5
40 5
41 5
42 5
44 5
45 5
46 5
47 9
53 5
55 7
59 5
60 9
66 5
67 6
70 5
71 5
72 9
78 5
80 5
82 5
83 5
84 7
...

result:

ok ok (10000 test cases)

Test #6:

score: 0
Accepted
time: 15ms
memory: 3864kb

input:

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

output:

No
No
No
No
No
No
Yes 14
1 5
3 7
7 7
11 5
12 5
13 5
14 5
16 5
17 5
18 9
24 10
31 5
32 6
35 5
Yes 69
1 5
2 5
4 5
5 5
6 5
8 5
9 5
10 8
15 5
16 5
17 5
19 5
20 5
21 5
22 5
23 5
24 5
25 5
26 5
27 5
29 7
33 5
34 5
36 5
37 5
38 5
39 5
40 6
43 5
44 5
45 5
47 5
49 5
51 5
52 6
55 5
57 7
61 5
63 6
66 5
68 5
69...

result:

ok ok (9999 test cases)

Test #7:

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

input:

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

output:

No
No
Yes 48171
1 5
2 5
3 5
5 5
6 5
7 5
9 5
10 5
12 8
17 5
18 5
19 5
20 5
22 5
23 5
24 5
26 5
27 5
28 5
30 6
33 5
34 5
36 5
37 5
39 5
40 5
41 5
42 5
44 5
45 5
46 5
47 7
51 6
54 9
60 5
61 5
62 5
63 5
64 5
66 5
67 5
68 6
71 5
72 5
73 5
75 5
76 5
77 7
81 5
82 5
83 7
87 5
88 6
91 5
93 5
94 8
99 5
100 8
...

result:

ok ok (5 test cases)

Test #8:

score: 0
Accepted
time: 21ms
memory: 5680kb

input:

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

output:

No
Yes 99996
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 5
59 5
6...

result:

ok ok (5 test cases)

Test #9:

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

input:

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

output:

Yes 24994
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 5
59 5
60 5...

result:

ok ok (20 test cases)

Test #10:

score: 0
Accepted
time: 15ms
memory: 4160kb

input:

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

output:

Yes 24996
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 5
59 5
60 5...

result:

ok ok (20 test cases)

Extra Test:

score: 0
Extra Test Passed