CF1315B.Homecoming

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

After a long party Petya decided to return home, but he turned out to be at the opposite end of the town from his home. There are nn crossroads in the line in the town, and there is either the bus or the tram station at each crossroad.

The crossroads are represented as a string ss of length nn , where si=As_i = \texttt{A} , if there is a bus station at ii -th crossroad, and si=Bs_i = \texttt{B} , if there is a tram station at ii -th crossroad. Currently Petya is at the first crossroad (which corresponds to s1s_1 ) and his goal is to get to the last crossroad (which corresponds to sns_n ).

If for two crossroads ii and jj for all crossroads i,i+1,,j1i, i+1, \ldots, j-1 there is a bus station, one can pay aa roubles for the bus ticket, and go from ii -th crossroad to the jj -th crossroad by the bus (it is not necessary to have a bus station at the jj -th crossroad). Formally, paying aa roubles Petya can go from ii to jj if st=As_t = \texttt{A} for all it<ji \le t < j .

If for two crossroads ii and jj for all crossroads i,i+1,,j1i, i+1, \ldots, j-1 there is a tram station, one can pay bb roubles for the tram ticket, and go from ii -th crossroad to the jj -th crossroad by the tram (it is not necessary to have a tram station at the jj -th crossroad). Formally, paying bb roubles Petya can go from ii to jj if st=Bs_t = \texttt{B} for all it<ji \le t < j .

For example, if ss ="AABBBAB", a=4a=4 and b=3b=3 then Petya needs:

- buy one bus ticket to get from 11 to 33 ,

  • buy one tram ticket to get from 33 to 66 ,
  • buy one bus ticket to get from 66 to 77 .

Thus, in total he needs to spend 4+3+4=114+3+4=11 roubles. Please note that the type of the stop at the last crossroad (i.e. the character sns_n ) does not affect the final expense.

Now Petya is at the first crossroad, and he wants to get to the nn -th crossroad. After the party he has left with pp roubles. He's decided to go to some station on foot, and then go to home using only public transport.

Help him to choose the closest crossroad ii to go on foot the first, so he has enough money to get from the ii -th crossroad to the nn -th, using only tram and bus tickets.

输入格式

Each test contains one or more test cases. The first line contains the number of test cases tt ( 1t1041 \le t \le 10^4 ).

The first line of each test case consists of three integers a,b,pa, b, p ( 1a,b,p1051 \le a, b, p \le 10^5 ) — the cost of bus ticket, the cost of tram ticket and the amount of money Petya has.

The second line of each test case consists of one string ss , where si=As_i = \texttt{A} , if there is a bus station at ii -th crossroad, and si=Bs_i = \texttt{B} , if there is a tram station at ii -th crossroad ( 2s1052 \le |s| \le 10^5 ).

It is guaranteed, that the sum of the length of strings ss by all test cases in one test doesn't exceed 10510^5 .

输出格式

For each test case print one number — the minimal index ii of a crossroad Petya should go on foot. The rest of the path (i.e. from ii to nn he should use public transport).

输入输出样例

  • 输入#1

    5
    2 2 1
    BB
    1 1 1
    AB
    3 2 8
    AABBBBAABB
    5 3 4
    BBBBB
    2 1 1
    ABABAB

    输出#1

    2
    1
    3
    1
    6
首页