Submission #1297927

#TimeUsernameProblemLanguageResultExecution timeMemory
1297927gesp3011v2Message (IOI24_message)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>
using namespace std;
//#include "message.h"
#define rep(i, n) for(int i = 0, i##__n = (int)(n); i < i##__n; ++i)
#define F(i,l,r) for(int i=l,i_end=r;i<i_end;++i)
#define FR(i,l,r) for(int i=l,i_end=r;i>=i_end;--i)

void send_message(vector<bool> M, vector<bool> C) {
	vector<vector<bool>> A(max(16, (sz(M) + 15) / 16 + 2), vector<bool>(31, false));
	vector<int> nxt(31, 1);
	rep(b, 31) if(!C[b])
		while(C[(b + nxt[b]) % 31]) nxt[b]++;
	rep(b, 31) if(!C[b]) A[nxt[b] - 1][b] = true;
	int pos = 0;
	rep(i, sz(A)) rep(b, 31) if(!C[b] && nxt[b] <= i)
		A[i][b] = (pos < sz(M) ? M[pos] : (pos == sz(M) ? true : false)), pos++;
	rep(i, sz(A)) send_packet(A[i]);
}

vector<bool> receive_message(vector<vector<bool>> A) {
	vector<int> nxt(31, 0);
	rep(b, 31) rep(i, 16) if(A[i][b]) { nxt[b] = i + 1; break; }
	vector<bool> C(31, true);
	rep(b, 31) {
		int cnt = 0;
		vector<bool> mark(31, false);
		for(int v = (b + nxt[b]) % 31; !mark[v]; v = (v + nxt[v]) % 31) mark[v] = true, cnt++;
		if(cnt == 16) rep(v, 31) C[v] = !mark[v];
	}

	vector<bool> M;
	rep(i, sz(A)) rep(b, 31) if(!C[b] && nxt[b] <= i)
		M.pb(A[i][b]);

	while(!M.back()) M.pop_back();
	M.pop_back();

	return M;
}

Compilation message (stderr)

message.cpp: In function 'void send_message(std::vector<bool>, std::vector<bool>)':
message.cpp:9:41: error: 'sz' was not declared in this scope
    9 |         vector<vector<bool>> A(max(16, (sz(M) + 15) / 16 + 2), vector<bool>(31, false));
      |                                         ^~
message.cpp:17:23: error: 'send_packet' was not declared in this scope
   17 |         rep(i, sz(A)) send_packet(A[i]);
      |                       ^~~~~~~~~~~
message.cpp: In function 'std::vector<bool> receive_message(std::vector<std::vector<bool> >)':
message.cpp:32:16: error: 'sz' was not declared in this scope
   32 |         rep(i, sz(A)) rep(b, 31) if(!C[b] && nxt[b] <= i)
      |                ^~
message.cpp:4:49: note: in definition of macro 'rep'
    4 | #define rep(i, n) for(int i = 0, i##__n = (int)(n); i < i##__n; ++i)
      |                                                 ^
message.cpp:33:19: error: 'class std::vector<bool>' has no member named 'pb'
   33 |                 M.pb(A[i][b]);
      |                   ^~