# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1103256 | 2024-10-20T15:48:53 Z | Ahmed57 | Message (IOI24_message) | C++17 | 1145 ms | 428 KB |
#include <bits/stdc++.h> using namespace std; vector<bool> send_packet(vector<bool> A); void send_message(std::vector<bool> M, std::vector<bool> C){ vector<vector<bool>> v; for(int i = 0;i<64;i++){ v.push_back(vector<bool>(31,0)); } for(int i = 0;i<31;i++){ int la = -1; for(int j = 1;j<31;j++){ if(C[i]==C[(i+j)%31]){ la = j; break; } } for(int j = 0;j<la-1;j++){ v[j][i] = 0; } v[la-1][i] = 1; } int it = 0; for(int i = 0;i<31;i++){ int j = 0; while(v[j][i]==0){ j++; } j++; for(;j<64;j++){ if(it==M.size()){ v[j][i] = !M.back(); }else{ v[j][i] = M[it++]; } } } for(int i = 0;i<64;i++){ send_packet(v[i]); } } std::vector<bool> receive_message(std::vector<std::vector<bool>> R){ int nxt[31]; for(int i = 0;i<31;i++){ int j = 0; while(j<64&&R[i][j]==0)j++; j++; if(j<31){ nxt[i] = (i+j)%31; }else{ nxt[i] = -1; } } vector<int> ans; for(int i = 0;i<31;i++){ int x = i; vector<int> v = {i}; int sz = 1; while(nxt[x]!=i&&sz<40){ if(nxt[x]==-1){ sz = 40; } x = nxt[x]; v.push_back(x); sz++; } if(sz==16){ ans = v; } } sort(ans.begin(),ans.end()); vector<bool> M; for(auto i:ans){ int j = 0; while(R[j][i]==0)j++; j++; for(;j<64;j++){ M.push_back(R[j][i]); } } bool v = M.back(); while(M.back()==v)M.pop_back(); return M; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 328 KB | Possible tampering with sol2mgr[1] |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1145 ms | 428 KB | Possible tampering with sol2mgr[1] |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 328 KB | Possible tampering with sol2mgr[1] |
2 | Halted | 0 ms | 0 KB | - |