# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
769641 | 2023-06-30T00:23:01 Z | raysh07 | Xylophone (JOI18_xylophone) | C++17 | 1 ms | 208 KB |
#include "xylophone.h" #include <bits/stdc++.h> using namespace std; static int ans[5001], pos[5001]; static int a[5001], b[5001]; static int n; void print(){ for (int i = 1; i <= n; i++){ cout << ans[i] << " "; answer(i, ans[i]); } cout << "\n"; } void solve(int nn) { n = nn; // int value = query(1, N); // for(int i = 1; i <= N; i++) { // answer(i, i); // } for (int i = 1; i < n; i++){ a[i] = query(i, i + 1); } for (int i = 1; i < n - 1; i++){ b[i] = query(i, i + 2); } for (int i = 1; i <= n; i++){ ans[1] = i; if (i + a[1] <= n){ ans[2] = i + a[1]; bool seen = false; bool good = true; for (int j = 3; j <= n; j++){ if (a[j - 2] + a[j - 1] == b[j - 2]) { if (ans[j - 1] > ans[j - 2]){ ans[j] = ans[j - 1] + a[j - 1]; } else { ans[j] = ans[j - 1] - a[j - 1]; } } else { if (ans[j - 1] > ans[j - 2]){ ans[j] = ans[j - 1] - a[j - 1]; } else { ans[j] = ans[j - 1] + a[j - 1]; } } if (ans[j] < 1 || ans[j] > n){ good = false; } } for (int j = 1; j <= n; j++){ if (ans[j] == 1) seen = true; if (ans[j] == n && !seen) good = false; } set <int> st; for (int j = 1; j <= n; j++) st.insert(ans[j]); if (st.size() != n) good = false; if (good){ print(); return; } } if (i - a[1] >= 1){ ans[2] = i - a[1]; bool seen = false; bool good = true; for (int j = 3; j <= n; j++){ if (a[j - 2] + a[j - 1] == b[j - 2]) { if (ans[j - 1] > ans[j - 2]){ ans[j] = ans[j - 1] + a[j - 1]; } else { ans[j] = ans[j - 1] - a[j - 1]; } } else { if (ans[j - 1] > ans[j - 2]){ ans[j] = ans[j - 1] - a[j - 1]; } else { ans[j] = ans[j - 1] + a[j - 1]; } } if (ans[j] < 1 || ans[j] > n){ good = false; } } for (int j = 1; j <= n; j++){ if (ans[j] == 1) seen = true; if (ans[j] == n && !seen) good = false; } set <int> st; for (int j = 1; j <= n; j++) st.insert(ans[j]); if (st.size() != n) good = false; if (good){ print(); return; } } } }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 208 KB | Unexpected end of file - int32 expected |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 208 KB | Unexpected end of file - int32 expected |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 208 KB | Unexpected end of file - int32 expected |
2 | Halted | 0 ms | 0 KB | - |