1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
/*

	# - -         SCRIPT INFO         - - #		# - -            AUTHOR INFO & LICENSE            - - #
	# # # # # # # # # # # # # # # # # # # #		# # # # # # # # # # # # # # # # # # # # # # # # # # # #
	#                                     #		#                                                     #
	#   + - - - - - - - - - - - - - - +   #		#   + - - - - - - - - - - - - - - - - - - - - - - +   #
	#   | SCRIPT_TYPE: X#ALGORITHM    |   #		#   | AUTHOR_INFO: Marek 'Xememah' Kochanowski    |   #
	#   | SCRIPT_INFO: X#ALGORITHM    |   #		#   | AUTHOR_WEB: xememah.com                     |   #
	#   | SCRIPT_RELEASE: XX.XX.XX  F |   #		#   | AUTHOR_EMAIL: xememah@gmail.com             |   #
	#   |               | mm.dd.yy [V]|   #		#   | OTHER:[TWITTER: @xememah | FB: /xememah]:   |   #
	#   + - - - - - - - - - - - - - - +   #		#   + - - - - - - - - - - - - - - - - - - - - - - +   #
	#   | V:[A=ALPHA|B=BETA|F=FULL]:  |   #		#   | LICENSE: DO NOT SHARE                       |   #
	#   + - - - - - - - - - - - - - - +   #		#   + - - - - - - - - - - - - - - - - - - - - - - +   #
	#                                     #		#                                                     #
	# # # # # # # # # # # # # # # # # # # #		# # # # # # # # # # # # # # # # # # # # # # # # # # # #

*/

#include <iostream>
#include <vector>

using namespace std;

typedef long long ll;
typedef long double ld;
typedef unsigned long long ull;
typedef short int si;

int dokk(int m, int mw, int Varsum, int Finalsum = 0) {
    //cout << "Cykl: " << m << "; Wygrana na cykl: " << mw << endl;
    //cout << "Suma kieszonkowego: " << Varsum << endl;
    int r = Varsum%m;
    int c = Varsum/m*mw;
    //cout << "Calkowite: " << c << " (" << c*mw  << "); " << "Reszta: " << r << endl;
    //cout << "2. Suma kieszonkowego: " << c+r << endl << endl;
    Finalsum += Varsum;
    if(c == Varsum) {
        return -1;
    } else {
        if(c+r >= m)
            dokk(m, mw, c+r, Finalsum);
        else
            return Finalsum;
    }
}

int main() {
    cout.sync_with_stdio(0);
    ios_base::sync_with_stdio(0);

    int n, m, Var, Varsum = 0, mw = 0;
    char stVar;

    cin >> n;
    for(int i = 0; i < n; i++) {
        cin >> Var;
        Varsum += Var;
    }

    cin >> m;
    vector <char> st;
    for(int i = 0; i < m; i++) {
        cin >> stVar;
        if(stVar == 'W')
            mw++;
        st.push_back(stVar);
    }
    cout << dokk(m, mw, Varsum);
    return 0;
}