Submission #1157979

#TimeUsernameProblemLanguageResultExecution timeMemory
1157979aligay100infaShopping (JOI21_shopping)C++20
0 / 100
69 ms12400 KiB
#include "Anna.h" #include <iostream> #include <vector> using namespace std; namespace { int n, l, r, k, cnt, ans, idx, a[1000001], b[100000]; void send(int x) { for (int i = 0; i < 9; i++) SendA((x >> i) & 1); } } // namespace void InitA(int N, int L, int R) { n = N; l = L; r = R; idx = cnt = 0; k = 20; send(l / k); send(r / k); } void find() { int mn = b[0]; printf("%d %d\n", mn, a[mn]); if (r < mn) mn = l; for (int i = l; i < min(r, int(l / k) * k + k); i++) { if (a[i] < a[mn]) mn = i; printf("%d %d\n", i, a[i]); } for (int i = max(int(r / k) * k, l); i <= r; i++) { if (a[i] < a[mn]) mn = i; printf("%d %d\n", i, a[i]); } ans = mn; } void ReceiveA(bool x) { if (cnt >= 14) { cnt = 0; idx++; } b[idx] |= x << cnt; cnt++; // if (cnt == 14) printf("%d %d\n", idx, b[idx]); if (cnt == 14 && (idx & 1)) { a[b[idx - 1]] = b[idx]; } } int Answer() { find(); // printf("my ans %d\n", ans); return ans; }
#include "Bruno.h" #include <iostream> #include <vector> using namespace std; namespace { int n, a[1000000], cnt, l, r, k, idx, b[3]; bool stillF = true; } // namespace void send(int x) { for (int i = 0; i < 14; i++) SendB((x >> i) & 1); } void InitB(int N, std::vector<int> P) { n = N; for(int i = 0; i < N; i++) { a[i] = P[i]; } cnt = 0; k = 20; idx = 0; } void solve() { if (l == r) { send(n); send(n + 1); } else { int mn = (l + 1) * k; for (int i = (l + 1) * k; i < r * k; i++) { if (a[i] < a[mn]) mn = i; } // printf("%d %d\n", mn, a[mn]); send(mn); send(a[mn]); } for (int i = l * k; i < (l + 1) * k; i++) { send(i); send(a[i]); // printf("%d %d\n", i, a[i]); } for (int i = r * k; i < (r + 1) * k ; i++) { send(i); send(a[i]); // printf("%d %d\n", i, a[i]); } } void ReceiveB(bool y) { if (cnt >= 9) { cnt = 0; idx++; } b[idx] |= y << cnt; cnt++; if (idx == 1 && cnt == 9) { solve(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...