int go(int i, int A) { // k=|A| if (i == n || A == 0) return 0; int f = go(i+1, A); if ((A >> i) & 1) f = maX(f, 1 + go(i+1, A & graph[i])); return f; } go(0, (1< обращение к прекалку // E=k(k-1)/2 // предподсчёт за 2^{k(k-1)/2} * k // обращение к предподсчёту if |A|<=k then O(k^2)