Submission #393628

# Submission time Handle Problem Language Result Execution time Memory
393628 2021-04-24T07:01:02 Z Hazem Last supper (IOI12_supper) C++14
0 / 100
64 ms 12400 KB
#include <bits/stdc++.h>
#include "advisor.h"
#define S second

using namespace std;

void appendint(int x,int len){
	
	//printf("%d\n",x);
	for(int i=0;i<=len;i++)
		WriteAdvice(((1<<i)&x)+'0');
}

const int N1 = 2e5+100;

int nxt[N1],last[N1];
vector<int>freq[N1];
map<int,int>pos;

void ComputeAdvice(int *C, int N, int K, int M) {

    int len = 0;
    for(int i=1;;i++){
		if((1<<i)>K)break;
		len = i;
	}
	
	int n = N;
	for(int i=0;i<n;i++)
		freq[C[i]].push_back(i);
	
	for(int i=0;i<n;i++)
		freq[i].push_back(n+100);
		
	set<pair<int,int>>st;
	set<int>st1;
	for(int i=0;i<K;i++)
		st.insert({freq[i][1],i}),st1.insert(i),pos[i] = i;
	
	for(int i=0;i<n;i++){
		
		if(st1.find(C[i])!=st1.end())
			appendint(0,len);
		
		else {
			
			auto it = st.rbegin();
			int val = (*it).S;
			
			st1.erase(val);
			st1.insert(C[i]);
			pos[C[i]] = pos[val];
			
			appendint(pos[val]+1,len);
			
			st.erase(*it);
			int nxt = upper_bound(freq[C[i]].begin(),freq[C[i]].end(),i)-freq[C[i]].begin();
			nxt = freq[C[i]][nxt];
			
			st.insert({nxt,C[i]});
		} 		
	}
}
#include <bits/stdc++.h>
#include "assistant.h"

using namespace std;

int a[2000000],vals[2000000];

int get(int idx,int len){
	
	int ret = 0;
	for(int i=idx;i<idx+len;i++)
		ret += (1<<(i-idx))*a[i];
	
	return ret;
}

void Assist(unsigned char *A, int N, int K, int R) {
	
  // printf("%d\n",R);
	// for(int i=0;i<R;i++)
	// 	cout<<A[i];
		
	int len = 0;
	for(int i=0;;i++){
		if((1<<i)>K)break;
		len = i;
	}
	
	for(int i=0;i<K;i++)
		vals[i] = i;
		
	for(int i=0;i<R;i++)
		a[i] = A[i]-'0';
	
	int n = N;
	for(int i=0;i<n;i++){
		
		int val = GetRequest();
		int val1 = get(i,len);
		
		if(!val1)continue;
		
		PutBack(vals[val1]);
		vals[val1] = val;
	}
}
# Verdict Execution time Memory Grader output
1 Incorrect 3 ms 5236 KB Error - advice must be 0 or 1
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 6 ms 5888 KB Error - advice must be 0 or 1
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 40 ms 10716 KB Error - advice must be 0 or 1
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 6 ms 5492 KB Error - advice must be 0 or 1
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 43 ms 11596 KB Error - advice must be 0 or 1
2 Incorrect 44 ms 11864 KB Error - advice must be 0 or 1
3 Incorrect 46 ms 12180 KB Error - advice must be 0 or 1
4 Incorrect 47 ms 12196 KB Error - advice must be 0 or 1
5 Incorrect 50 ms 12288 KB Error - advice must be 0 or 1
6 Incorrect 64 ms 12184 KB Error - advice must be 0 or 1
7 Incorrect 60 ms 12180 KB Error - advice must be 0 or 1
8 Incorrect 46 ms 12216 KB Error - advice must be 0 or 1
9 Incorrect 45 ms 12400 KB Error - advice must be 0 or 1
10 Incorrect 46 ms 12388 KB Error - advice must be 0 or 1