#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n, k, q, t;
cin >> n >> k >> q >> t;
vector<int> a(n), b(n);
for (int &x : a) cin >> x;
for (int &x : b) cin >> x;
// Asegurar que no seleccionamos nodos fuera del rango [1, N]
k = min(k, n);
// Elegimos los primeros k nodos válidos: {1, 2, ..., k}
for (int i = 1; i <= k; ++i) {
cout << i << (i == k ? '\n' : ' ');
}
cout.flush();
// Realizamos K - 1 consultas válidas
for (int i = 2; i <= k; ++i) {
cout << "? 1 " << i << '\n';
cout.flush();
}
// Indicamos que terminamos las consultas
cout << "!" << endl;
cout.flush();
// Leemos las K - 1 respuestas del juez
for (int i = 0; i < k - 1; ++i) {
int d1a, d1b, d2a, d2b;
if (!(cin >> d1a >> d1b >> d2a >> d2b)) {
cerr << "Error: no se pudo leer la respuesta del juez\n";
return 1;
}
}
// Leer T queries y responder con 0s (válido para test mínimo)
for (int i = 0; i < t; ++i) {
int u, v;
cin >> u >> v;
cout << "0 0\n";
}
cout.flush();
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |