intmain(){ int t; cin >> t; while (t--) { int n, c = 1; cin >> n; for (int i = 1; i < 31; ++i) { c |= 1 << i; if (n % c == 0) { cout << n / c << endl; break; } } } return0; }
intmain(){ int t; cin >> t; while (t--) { int n; cin >> n; if (n >> 1 & 1) { cout << "NO" << endl; continue; } cout << "YES" << endl; for (int i = 1; i <= n / 2; ++i) { cout << i * 2 << ' '; } for (int i = 0, t = 1; i < n / 2; ++i) { cout << t << ' '; t += 2; if (i + 1 == n / 4) t += 2; } cout << endl; } return0; }
intmain(){ int t; cin >> t; while (t--) { int n; cin >> n; vector<ll> a(n); for (ll &i : a) cin >> i; ll sum = 0, la = a[0]; for (int i = 1; i < n; ++i) { if (a[i] * la < 0) { sum += la; la = a[i]; } la = max(la, a[i]); } sum += la; cout << sum << endl; } return0; }
int main() { intT; cin >> T; while (T--) { intn, k; cin >> n >> k; vector<int> a(n), b(2 * k); for (int &i : a) cin >> i, --i; for (int i = 0; i < n / 2; ++i) { int s = a[i] + a[n - i - 1]; int l = min(a[i], a[n - i - 1]); int r = max(a[i], a[n - i - 1]) + k; b[0] += 2; --b[l], --b[s]; ++b[s + 1], ++b[r]; } int ans = b[0]; for (int i = 1; i < 2 * k; ++i) { b[i] += b[i - 1]; ans = min(ans, b[i]); } cout << ans << endl; } return 0; }
intmain(){ int T; cin >> T; while (T--) { int n, m, a, b, c; cin >> n >> m >> a >> b >> c; vector<vi> g(n + 1); vector<vi> d(3, vi(n + 1, -1)); vector<ll> p(m + 1); for (int i = 1; i <= m; ++i) cin >> p[i]; sort(p.begin(), p.begin() + m + 1); for (int i = 1; i <= m; ++i) p[i] += p[i - 1]; for (int i = 0, u, v; i < m; ++i) { cin >> u >> v; g[u].emplace_back(v); g[v].emplace_back(u); } auto bfs = [&](int s, int i) { queue<int> Q; Q.emplace(s); d[i][s] = 0; while (!Q.empty()) { int u = Q.front(); Q.pop(); for (int v : g[u]) { if (d[i][v] == -1) { d[i][v] = d[i][u] + 1; Q.emplace(v); } } } }; bfs(a, 0); bfs(b, 1); bfs(c, 2); ll ans = INF64; for (int i = 1; i <= n; ++i) { if (d[2][i] + d[1][i] + d[0][i] > m) continue; ll tt = p[d[1][i]] + p[d[2][i] + d[1][i] + d[0][i]]; ans = min(ans, tt); } cout << ans << endl; } return0; }