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
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
#define rep(a, b) for(int a = 0; a < (b); ++a)
#define st first
#define nd second
#define pb push_back
#define all(a) a.begin(), a.end()
const int LIM=1e5+7;
const ll INF=1e15+7;
ll A[LIM], B[LIM];
int main() {
	ios_base::sync_with_stdio(0); cin.tie(0);
	int n, k;
	cin >> n >> k;
	rep(i, n) cin >> A[i];
	rep(i, n) cin >> B[i];
	string s="";
	ll ans=INF;
	rep(i, 1<<n) {
		ll akt=0, ma=0, a=0;
		rep(j, n) {
			ll x;
			if(i&(1<<j)) {
				++a;
				x=A[j];
			} else x=B[j];
			akt=max(akt+x, 0ll);
			ma=max(ma, akt);
		}
		if(a==k) {
			if(ma<ans) {
				s="";
				rep(j, n) if(i&(1<<j)) s+="A"; else s+="B";
				ans=ma;
			}
		}
	}
	cout << ans << '\n' << s << '\n';
}