Submission details
Task:Bittijono
Sender:alli
Submission time:2026-01-19 15:35:07 +0200
Language:C++ (C++20)
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED21
#2ACCEPTED16
#3ACCEPTED63
Test results
testverdicttimegroup
#1ACCEPTED0.00 s1, 3details
#2ACCEPTED0.00 s1, 2, 3details
#3ACCEPTED0.00 s1, 3details
#4ACCEPTED0.00 s1, 3details
#5ACCEPTED0.00 s1, 3details
#6ACCEPTED0.01 s3details
#7ACCEPTED0.01 s2, 3details
#8ACCEPTED0.01 s3details
#9ACCEPTED0.01 s2, 3details
#10ACCEPTED0.01 s2, 3details
#11ACCEPTED0.01 s3details
#12ACCEPTED0.01 s2, 3details
#13ACCEPTED0.01 s3details
#14ACCEPTED0.01 s3details
#15ACCEPTED0.01 s3details
#16ACCEPTED0.00 s1, 2, 3details
#17ACCEPTED0.00 s1, 3details
#18ACCEPTED0.00 s1, 3details
#19ACCEPTED0.01 s3details
#20ACCEPTED0.01 s3details

Code

#include<bits/stdc++.h>

typedef long long ll;
using namespace std;

int n, a, b;
string s1, s2;

struct X {
    ll x;
    ll m;
    int l;
};

X d[101010];

X seuraava(const X& e, int k) {
    ll nx = e.x + k;
    return {
        nx,
        max(e.m,nx),
        e.l+1
    };
}

bool comp(const X& a, const X& b) {
    return a.x < b.x;
}

int main(){
    cin >> n >> a >> b >> s1 >> s2;

    if (s1 == s2) {
        cout << "0\n";
        return 0;
    }

    const X x1 = {1,1,1};
    const X x2 = {0,0,1};
    d[0] = {0,0,0};
    ll s = 0, u = 0;
    for (int i = 1; i <= n; i++) {
        if (s1[i-1] != s2[i-1]) {
            s++;
            d[i] = max(x1, seuraava(d[i-1],1), comp);
        }else {
            d[i] = max(x2, seuraava(d[i-1],-1), comp);
            if ((d[i].m-d[i].x)*a>b) {
                d[i] = x2;
            }
        }
    }

    /*for (int i = 1; i <= n; i++) {
        cout << d[i].x << "/" << d[i].m << "/" << d[i].l << "\n";
    }*/

    int i = n;
    while (i > 0 && d[i].l != -1) {
        if (d[i].m*a > b) {
            s -= d[i].m;
            u++;
        }
        i -= d[i].l;
    }
    /*cout << "s: " << s << "\n";
    cout << "u: " << u << "\n";*/
    cout << s*a+u*b << "\n";
}

Test details

Test 1 (public)

Group: 1, 3

Verdict: ACCEPTED

input
8 3 5
10110001
01101000

correct output
11

user output
11

Test 2

Group: 1, 2, 3

Verdict: ACCEPTED

input
10 644 644
0111000100
0000010111

correct output
1932

user output
1932

Test 3

Group: 1, 3

Verdict: ACCEPTED

input
10 493 986
0001110000
0001100001

correct output
986

user output
986

Test 4

Group: 1, 3

Verdict: ACCEPTED

input
10 240 720
1011001110
1000000001

correct output
1200

user output
1200

Test 5

Group: 1, 3

Verdict: ACCEPTED

input
10 3 7
1110111111
0010010101

correct output
15

user output
15

Test 6

Group: 3

Verdict: ACCEPTED

input
100000 1 1000000000
001100110010101001010111000110...

correct output
50252

user output
50252

Test 7

Group: 2, 3

Verdict: ACCEPTED

input
100000 1000000000 1
110010000110110100110110101011...

correct output
25055

user output
25055

Test 8

Group: 3

Verdict: ACCEPTED

input
100000 1000 1000000000
001001101010100000011110000101...

correct output
50001000

user output
50001000

Test 9

Group: 2, 3

Verdict: ACCEPTED

input
100000 1000000000 1000
101010110001010011011011101110...

correct output
24939000

user output
24939000

Test 10

Group: 2, 3

Verdict: ACCEPTED

input
100000 1000000000 1000000000
001000000001000000000010110111...

correct output
25023000000000

user output
25023000000000

Test 11

Group: 3

Verdict: ACCEPTED

input
100000 123456789 987654321
100010110100011000001111001110...

correct output
5475678967593

user output
5475678967593

Test 12

Group: 2, 3

Verdict: ACCEPTED

input
100000 987654321 123456789
000100110000010110111101111101...

correct output
3071481453531

user output
3071481453531

Test 13

Group: 3

Verdict: ACCEPTED

input
100000 1000000 1000000000
001100110010100011000111101100...

correct output
49916000000

user output
49916000000

Test 14

Group: 3

Verdict: ACCEPTED

input
100000 10000000 1000000000
110111101101111110100101011000...

correct output
494930000000

user output
494930000000

Test 15

Group: 3

Verdict: ACCEPTED

input
100000 100000000 1000000000
111110000010100011011100110010...

correct output
4547300000000

user output
4547300000000

Test 16

Group: 1, 2, 3

Verdict: ACCEPTED

input
1 1 1
1
1

correct output
0

user output
0

Test 17

Group: 1, 3

Verdict: ACCEPTED

input
10 600 800
0000000000
1110111111

correct output
1400

user output
1400

Test 18

Group: 1, 3

Verdict: ACCEPTED

input
10 300 599
1101001010
0011010110

correct output
1198

user output
1198

Test 19

Group: 3

Verdict: ACCEPTED

input
100000 300000000 500000000
010011101001001010010101101101...

correct output
10000000000000

user output
10000000000000

Test 20

Group: 3

Verdict: ACCEPTED

input
100000 60000 1000000000
110110111011010100001000011011...

correct output
3000000000

user output
3000000000