Help me in solving BINADD problem

My issue

Ans is correct and output format is also correct but still it’s showing wrong answer

My code

#include <bits/stdc++.h>
using namespace std;

int main() {
    int t; cin >> t;
    while(t--) {
    	string A, B;
    	cin >> A >> B;
    	reverse(A.begin(), A.end());
    	reverse(B.begin(), B.end());
        while(A.size() < B.size()) A += "0";
        while(B.size() < A.size()) B += "0";
        A += "0"; B += "0";
        int c = 0, a = 0, cur = 0;
        for(int i = 0; i < A.size(); i++) {
            c = c+ (A[i] - '0') + (B[i] - '0');
            if(c > 1) cur++;
            else cur=0;
            c /= 2;
            a = max(a, cur);
        }
         cout << a + (B.find('1') != string :: npos);
         if(t != 0) cout << endl;
    }
}

Problem Link: CodeChef: Practical coding for everyone