Submission #761668

# Submission time Handle Problem Language Result Execution time Memory
761668 2023-06-20T07:00:03 Z SanguineChameleon Last supper (IOI12_supper) C++17
0 / 100
334 ms 24180 KB
#include "advisor.h"
#include <bits/stdc++.h>
using namespace std;

const int maxN = 1e5 + 20;
vector<int> pos[maxN];

void ComputeAdvice(int *C, int N, int K, int M) {
	int L = 1;
	while ((1 << L) < K) {
		L++;
	}
	for (int i = N - 1; i >= 0; i--) {
		pos[C[i]].push_back(i);
	}
	map<int, int> cur;
	set<pair<int, int>> S;
	for (int i = 0; i < K; i++) {
		S.emplace(pos[i].empty() ? N : 0, i);
		cur[i] = i;
	}
	for (int i = 0; i < N; i++) {
		int x = -1;
		if (S.begin()->second == C[i]) {
			x = cur[C[i]];
			cur[C[i]] = -1;
			S.erase(S.begin());
		}
		else {
			x = cur[prev(S.end())->second];
			cur[prev(S.end())->second] = -1;
			for (int j = 0; j < L; j++) {
				WriteAdvice((x >> j) & 1);
			}
			S.erase(prev(S.end()));
		}
		cur[C[i]] = x;
		pos[C[i]].pop_back();
		S.emplace(pos[C[i]].empty() ? N : 0, C[i]);
	}
}
#include "assistant.h"
#include <bits/stdc++.h>
using namespace std;

const int maxK = 1e5 + 20;
int colors[maxK];

void Assist(unsigned char *A, int N, int K, int R) {
	int L = 1;
	while ((1 << L) < K) {
		L++;
	}
	set<int> S;
	for (int i = 0; i < K; i++) {
		colors[i] = i;
		S.insert(i);
	}
	int pt = 0;
	for (int i = 0; i < N; i++) {
		int C = GetRequest();
		if (S.find(C) != S.end()) {
			continue;
		}
		int pos = 0;
		for (int j = 0; j < L; j++) {
			pos |= (A[pt + j] << j);
		}
		pt += L;
		PutBack(colors[pos]);
		S.erase(colors[pos]);
		S.insert(C);
		colors[pos] = C;
	}
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2948 KB Output is correct
2 Incorrect 1 ms 2956 KB Error - Putting back a color that is not on the scaffold
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 24 ms 4360 KB Output isn't correct - not an optimal way
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 281 ms 17508 KB Error - Putting back a color that is not on the scaffold
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 3076 KB Error - advice is too long
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 303 ms 20964 KB Error - Putting back a color that is not on the scaffold
2 Incorrect 289 ms 20924 KB Error - Putting back a color that is not on the scaffold
3 Incorrect 328 ms 21404 KB Output isn't correct - not an optimal way
4 Incorrect 294 ms 21368 KB Error - Putting back a color that is not on the scaffold
5 Incorrect 301 ms 21212 KB Error - Putting back a color that is not on the scaffold
6 Incorrect 294 ms 21192 KB Error - Putting back a color that is not on the scaffold
7 Incorrect 313 ms 21224 KB Output isn't correct - not an optimal way
8 Incorrect 327 ms 21280 KB Output isn't correct - not an optimal way
9 Incorrect 298 ms 21184 KB Error - Putting back a color that is not on the scaffold
10 Incorrect 334 ms 24180 KB Output isn't correct - not an optimal way