#include #include #include #include using namespace std; string i2s(int a) { string s = ""; if (a == 0) s = "0"; else { while (a > 0) { s += (a%2 + '0'); a /= 2; } } reverse(s.begin(),s.end()); return s; } int s2i(string s) { int mn = 1; int brojac = 0; for (int i = s.size() - 1; i >= 0; i--) { brojac += mn*(s[i] -'0'); mn *= 2; } return brojac; } int main() { int n,k; cin >> n >> k; int mat[31][n+1]; for (int i = 0; i < 31; i++) for (int j = 0; j < n; j++) mat[i][j] = 0; for (int i = 0; i < n; i++) { int a; cin >> a; string s = i2s(a); int br = s.size() - 1; for (int j = 30; j >= 0; j--) { mat[j][i] = (s[br] - '0'); br--; if (br == -1) break; } } vector vis(n+1, 0); string kr = ""; for (int i = 0; i < 31; i++) { int bro = 0; for (int j = 0; j < n; j++) { if (!vis[j]) { bro += mat[i][j]; } } if (bro < k) { kr += '0'; continue; } else { kr += '1'; for (int j = 0; j < n; j++) { if (!vis[j] && mat[i][j] == 0) vis[j] = true; } } } cout< #include #include using namespace std; typedef long long ll; vector low; vector dfs_num; vector parent; int N, M; vector graf[int(1e5)+10]; vector articulation_map; vector ap; vector> bridges; void articulation_points(int u){ static int dfs_num_cnt = 0; low[u] = dfs_num[u] = ++dfs_num_cnt; int children = 0; for(int i=0;i 1) { articulation_map[u] = true; } else if (parent[u] != -1 && low[v] >= dfs_num[u]) { articulation_map[u] = true; } if (low[v] > dfs_num[u]) { bridges.push_back({u, v}); } } else if (v != parent[u]) { low[u] = min(low[u], dfs_num[v]); } } } void bridg_find(){ cout << M; for(int i=0;i> a >> b; graf[a].push_back(b); graf[b].push_back(a); } low.assign(N,-1); dfs_num.assign(N,-1); parent.assign(N, -1); articulation_map.assign(N, false); for(int i = 0;i> N >> M; bridg_find(); int Q; cin >> Q; int for(int i=0;i> c; int sum = 0; for(int i=0;i> j; sum += articulation_map[j]; } cout << } return 0; } */