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
71
72
73
74
75
76
77
78
79
80
#include <iostream>

using namespace std;

void wybor(string kolejnosc[],int o_a[],int o_b[],int o,int a){

int in=0;
    for(int j=0;j<a;j++){
        for(int i=0;i<o;i++){
            if(o_a[i]<=0&&o_b[i]>o_b[in]&&kolejnosc[i].compare("A")||o_a[i]<o_b[i]&&o_a[i]-o_b[i]>o_b[in]){
                in=i;
            }
        }


        kolejnosc[in]="A";

        in=0;
    }

    for(int i=0;i<o;i++){
        if(kolejnosc[i]=="A"){
            continue;
        }
        kolejnosc[i]="B";
    }
}

long int zlodzieje(int oa[],int ob[],string kolejnosc[],int o){

    long int mm=0,mt=0;

    for(int i=0;i<o;i++){
        for(int j=i;j<o;j++){
            if(kolejnosc[j]=="A"){
                if(oa[j]>0)mt+=oa[j];
            }else{
                if(ob[j]>0)mt+=ob[j];
            }
            if(mm<mt)mm=mt;

        }
        mt=0;
    }
    return mm;
}

int main()
{
    int obrazy,a;

    cin>>obrazy>>a;

    int obrazy_a[obrazy],obrazy_b[obrazy];
    for(int i=0;i<obrazy;i++){
        cin>>obrazy_a[i];
    }
    for(int i=0;i<obrazy;i++){
        cin>>obrazy_b[i];
    }


    string kolojnosc[obrazy];

    wybor(kolojnosc,obrazy_a,obrazy_b,obrazy,a);





    cout<<zlodzieje(obrazy_a,obrazy_b,kolojnosc,obrazy);
 cout<<endl;

    for(int i=0;i<obrazy;i++){
        cout<<kolojnosc[i];
    }


    return 0;
}