90分求条
查看原帖
90分求条
772464
volatile楼主2025/5/3 06:49

10# wa

#include<iostream>
#include<string>
using namespace std;
int main()
{
    int a,b,c,cg=0,sb=0,now=0;
    long long sum=0;
    string s;
    cin>>a>>b>>c>>s;
    for(int i=0;i<s.size();i++){
        if(s[i]=='G'||s[i]=='B'){
            sum+=a;
            sb=0;
            now=0;
        }
        else if(s[i]=='A'){
            sum+=b;
            if(!now){
                cg++;
                now=1;
            }
        }
        else{
            sum+=c;
            sb++;
        }
        if(sb==3){
            if(!now){
                cg++;
                now=1;
            }
        }
    }
    if(cg<4){
        if(s[s.size()-1]=='A'){
            sum+=a;
            cg++;
            sum+=min((4-cg)*(a+b+a),(4-cg)*(a+3*c+a));
        }
        else if(s[s.size()-1]=='W'){
            if(!now) sum+=min(b,(3-min(sb,3))*c);
            sum+=a;
            if(!now) cg++;
            sum+=min((4-cg)*(a+b+a),(4-cg)*(a+3*c+a));
        }
        else if(s[s.size()-1]=='B') sum+=min((4-cg)*(a+b+a),(4-cg)*(a+3*c+a));
        else{
            sum+=min(b,(3-sb)*c)+a;
            cg++;
            sum+=min((4-cg)*(a+b+a),(4-cg)*(a+3*c+a));
        }
    }
    else if(s[s.size()-1]!='B') sum+=a;
    cout<<sum;
    return 0;
}
2025/5/3 06:49
加载中...