boolsum(int x, int len, int target){ while (x) { --len; target -= x % 10; x /= 10; } return !len && !target; }
voidsolve(){ int _; cin >> _; for (int ts = 1; ts <= _; ++ts) { int n; cin >> n; // get n length int len = 0, tmp = n; while (tmp) { ++len; tmp /= 10; }
// test for len int ans = 0; for (int i = 0; i <= len * 9; ++i) ans += sum(n + i, len, i); for (int i = 0; i <= (len + 1) * 9; ++i) ans += sum(n + i, len + 1, i);
voidsolve(){ int _; cin >> _; for (int ts = 1; ts <= _; ++ts) { int n; cin >> n; vector<int> a(n); set<int> cnt; for (int i = 0; i < n; ++i) { cin >> a[i]; cnt.insert(a[i]); }
int ans = 0; for (auto i = 0; i < n; ++i) { constauto end = cnt.upper_bound(a[i]); for (auto j = cnt.begin(); j != end; ++j) { constint v = a[i] * *j; if (v >= n) break; if (i - v >= 0 && a[i - v] == *j) ++ans; if (i + v < n && a[i + v] == *j && a[i] != *j) ++ans; } }