Submission #2553220


Source Code Expand

#include <iostream>
#include <string>
#include <algorithm>
using namespace std;

int sum_s[100005], sum_t[100005];
int sa(int a,int b){
    return sum_s[b] - sum_s[a-1];
}
int sb(int a,int b){
    return b-a+1-sa(a,b);
}
int ta(int a,int b){
    return sum_t[b] - sum_t[a-1];
}
int tb(int a,int b){
    return b-a+1 - ta(a,b);
}


int main(){
    string s,t;
    cin >> s >> t;
    int q; cin >> q;
    sum_s[0] = 0;
    sum_t[0] = 0;
    for(int i=1;i<s.length()+1;i++)  sum_s[i] = sum_s[i-1] + (s[i-1]=='A' ? 1 : 0);
    for(int i=1;i<t.length()+1;i++)  sum_t[i] = sum_t[i-1] + (t[i-1]=='A' ? 1 : 0);
    for(int i=0;i<q;i++){
        int a,b,c,d;
        cin >> a >> b >> c >> d;
        int aa = sa(a,b) + 2*sb(a,b), bb = ta(c,d) + 2*tb(c,d);
        //cout << " "<< bb << endl;
        if(aa < bb) swap(aa,bb);
        if((aa - bb) % 3 ==0) cout << "YES" << endl;
        else cout << "NO" << endl;
    }
    return 0;
}

Submission Info

Submission Time
Task E - TrBBnsformBBtion
User keicut
Language C++14 (Clang 3.8.0)
Score 600
Code Size 963 Byte
Status AC
Exec Time 525 ms
Memory 1664 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 600 / 600
Status
AC × 2
AC × 16
Set Name Test Cases
Sample 0_000.txt, 0_001.txt
All 0_000.txt, 0_001.txt, bound_0.txt, bound_1.txt, bound_2.txt, bound_3.txt, min.txt, rnd_10000_10.txt, rnd_10000_10000.txt, rnd_10000_2.txt, rnd_10_10.txt, rnd_10_10000.txt, rnd_10_2.txt, rnd_2_10.txt, rnd_2_10000.txt, rnd_2_2.txt
Case Name Status Exec Time Memory
0_000.txt AC 1 ms 256 KB
0_001.txt AC 1 ms 256 KB
bound_0.txt AC 448 ms 1664 KB
bound_1.txt AC 485 ms 1664 KB
bound_2.txt AC 480 ms 1664 KB
bound_3.txt AC 525 ms 1664 KB
min.txt AC 1 ms 256 KB
rnd_10000_10.txt AC 513 ms 1664 KB
rnd_10000_10000.txt AC 507 ms 1664 KB
rnd_10000_2.txt AC 508 ms 1664 KB
rnd_10_10.txt AC 517 ms 1664 KB
rnd_10_10000.txt AC 509 ms 1664 KB
rnd_10_2.txt AC 504 ms 1664 KB
rnd_2_10.txt AC 508 ms 1664 KB
rnd_2_10000.txt AC 503 ms 1664 KB
rnd_2_2.txt AC 514 ms 1664 KB