QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#710483#9535. Arrow a Rowestrellad#AC ✓17ms5544kbC++201.3kb2024-11-04 20:02:462024-11-04 20:02:47

Judging History

This is the latest submission verdict.

  • [2024-11-04 20:02:47]
  • Judged
  • Verdict: AC
  • Time: 17ms
  • Memory: 5544kb
  • [2024-11-04 20:02:46]
  • Submitted

answer

// dzx
#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
#define int long long
const int N=1e5+10;
const int M=N-10,P=998244353,INF=1e18+10;
typedef pair<int,int> PII;
#define fi first
#define se second
string s;
vector<PII> v;
int n;
void solve(){
    cin>>s;
    v.clear();
    n=s.size();
    int fg=0,cnt=0;
    for(int i=n-1;i>=0;i--){
        if(s[i]=='-')fg=1;
        if(s[i]=='>'&&!fg)cnt++;
    }
    if(!fg||s[0]=='-'||s[n-1]=='-'||s[n-2]=='-'||s[n-3]=='-'){
        cout<<"No"<<endl;
        return;
    }
    int m=n-1,mm=cnt;
    // cout<<cnt<<endl;
    // return;
    while(cnt>=3){
        v.push_back({0,m});
        cnt-=3;
        m-=3;
    }
    if(cnt){
        v.push_back({0,m+3-cnt});
    }
    for(int i=1;i<n-mm;i++){
        if(i>(n-5))break;
        if(s[i]=='>'&&i<=n-5){
            if(s[i+1]=='>'){
                v.push_back({i,i+4});
            }else{
                int t=i;
                while(s[i+1]=='-'&&i+1<n)i++;
                v.push_back({t,i+3});
            }
        }
    }
    cout<<"Yes "<<v.size()<<endl;
    for(auto [a,b]:v){
        cout<<a+1<<" "<<(b-a+1)<<endl;
    }
}
signed main(){ 
    ios::sync_with_stdio(0);
	cin.tie(0),cout.tie(0);
    int _T=1;
	cin>>_T;
    while(_T--)solve(); 

	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

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

output:

Yes 2
1 6
2 5
No
No
Yes 2
1 8
1 5

result:

ok ok (4 test cases)

Test #2:

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

input:

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

output:

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

result:

ok ok (126 test cases)

Test #3:

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

input:

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

output:

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

result:

ok ok (4032 test cases)

Test #4:

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

input:

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

output:

Yes 10
1 17
1 16
2 5
3 5
4 5
6 5
8 5
9 5
11 5
12 5
Yes 7
1 17
1 14
3 6
6 5
7 5
9 5
10 5
Yes 6
1 17
1 15
3 5
5 5
6 6
9 7
Yes 5
1 17
1 14
1 13
6 6
9 5
Yes 7
1 17
1 16
3 6
6 5
7 7
11 5
12 5
Yes 9
1 16
3 5
4 5
6 5
7 5
8 5
9 5
10 5
11 6
Yes 6
1 16
2 7
6 5
8 6
11 5
12 5
Yes 5
1 15
4 8
9 5
10 5
11 5
Yes 5
...

result:

ok ok (10000 test cases)

Test #5:

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

input:

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

output:

Yes 11
1 26
2 5
3 6
6 5
7 5
8 5
9 6
12 8
17 5
19 5
21 6
Yes 9
1 18
2 6
5 5
6 5
7 5
8 5
10 6
13 5
14 5
Yes 110
1 211
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
8...

result:

ok ok (10000 test cases)

Test #6:

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

input:

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

output:

No
No
No
No
No
No
Yes 14
1 39
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 129
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...

result:

ok ok (9999 test cases)

Test #7:

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

input:

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

output:

No
No
Yes 48171
1 95948
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
10...

result:

ok ok (5 test cases)

Test #8:

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

input:

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

output:

No
Yes 99996
1 100000
1 99999
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 ...

result:

ok ok (5 test cases)

Test #9:

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

input:

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

output:

Yes 20999
1 25000
1 24997
1 24994
1 24991
1 24988
1 24985
1 24982
1 24979
1 24976
1 24973
1 24970
1 24967
1 24964
1 24961
1 24958
1 24955
1 24952
1 24949
1 24946
1 24943
1 24940
1 24937
1 24934
1 24931
1 24928
1 24925
1 24922
1 24919
1 24916
1 24913
1 24910
1 24907
1 24904
1 24901
1 24898
1 24895
1 ...

result:

ok ok (20 test cases)

Test #10:

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

input:

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

output:

Yes 9851
1 25000
1 24997
1 24994
1 24991
1 24988
1 24985
1 24982
1 24979
1 24976
1 24973
1 24970
1 24967
1 24964
1 24961
1 24958
1 24955
1 24952
1 24949
1 24946
1 24943
1 24940
1 24937
1 24934
1 24931
1 24928
1 24925
1 24922
1 24919
1 24916
1 24913
1 24910
1 24907
1 24904
1 24901
1 24898
1 24895
1 2...

result:

ok ok (20 test cases)

Extra Test:

score: 0
Extra Test Passed