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:

- i x: Change the ith index to x in the array
- 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.

`#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){

}

}

}

## 0 Comments