In this HackerEarth Array and good pairs problem solution You are given an array A of length N. A pair (a,b) is considered good if the following criterion is fulfilled:

Consider the decimal representation of a and b. a has digits a1,a2,...,ak1 and b has digits b1,b2,...,bk1. (a,b) is good only if there is no index y (1 <= y <= k) such that ay and by are non-zero elements.

You are required to process Q queries where each having one of the following forms:
  1. i x: Change the ith index to x in the array
  2. l r: Consider all the pairs (i, j) such that l <= i <= j <= r such that (ai,aj) is a good pair and add ai pi aj to the answer.


HackerEarth Array and good pairs problem solution


HackerEarth Array and good pairs problem solution.

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
 
const int maxn = 3e5 + 14;
struct Node{
    bool c[2];
    int cnt, x;
    Node(){
        c[1] = 1;
    }
    Node operator +(Node &o){
        Node r;
        r.cnt = cnt + o.cnt;
        for(int i = 0; i < 2; i++)
            r.c[i] = c[ o.c[i] ];
        return r;
    }
}  seg[maxn << 2];
struct Q{
    
int n, q;
int main(){
    ios::sync_with_stdio(0), cin.tie(0);
    cin >> q;
    for(int i = 0; i < q; i++){
        int t, k;
        cin >> t >> k;
        if(k == 3){
            
        }
    }
}