Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cmath>
- #include <iostream>
- #include <vector>
- #include <algorithm>
- #include <string>
- #include <set>
- #include <map>
- #include <list>
- #include <time.h>
- #include <math.h>
- #include <random>
- #include <deque>
- #include <queue>
- #include <cassert>
- #include <unordered_map>
- #include <unordered_set>
- #include <iomanip>
- #include <bitset>
- #include <sstream>
- #include <chrono>
- #include <cstring>
- using namespace std;
- #define rep(i,a,n) for (int i=a;i<n;i++)
- #define fi first
- #define se second
- #define pb push_back
- #define mp make_pair
- #define sz(x) ((int)(x).size())
- #define all(x) (x).begin(),(x).end()
- #define PI 3.14159265358979323846
- typedef long long ll;
- typedef long double ld;
- void fastIO() {
- ios_base::sync_with_stdio(false);
- cin.tie(0);
- cout.tie(0);
- }
- const int mxn = 5e5 + 228;
- int n;
- int main() {
- fastIO();
- int tt;
- cin >> tt;
- while (tt--) {
- ll a, b, p;
- cin >> a >> b >> p;
- string s;
- cin >> s;
- vector<ll> ans(sz(s), 0);
- ll sum = 0;
- int res = sz(s);
- sum += (s[0] == 'A' ? a : b);
- ans[0] = sum;
- for (int i = 1; i < sz(s); ++i) {
- if (s[i] != s[i - 1]) {
- ans[i] = (s[i] == 'A' ? a : b);
- }
- }
- for (int i = sz(s) - 2; i >= 0; --i) {
- if (ans[i] > 0) {
- if (p - (s[i] == 'A' ? a : b) >= 0) {
- p -= (s[i] == 'A' ? a : b);
- res = i + 1;
- }
- else
- break;
- }
- }
- cout << res << endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement