답안 #251701

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
251701 2020-07-22T08:10:21 Z tinjyu 최후의 만찬 (IOI12_supper) C++14
0 / 100
20 ms 8432 KB
#include <iostream>
#include <algorithm>
#include "advisor.h"
using namespace std;
long long int maxlen,ans[1000005],k,map[1000005],in[1000005],t[1000005],p[1000005];
struct node{
	long long int road,id;
}now[1000005];
struct cmp{
	bool operator()(const node &a,const node &b)
	{
		return a.road<b.road;
	}
};
void find(int x)
{
	for(int i=1;i<=maxlen;i++)
	{
		if(x%2==0)WriteAdvice('0');
		else WriteAdvice('1');
		//cout<<x%2<<" ";
		x/=2;
	}
	return ;
}
void ComputeAdvice(int *C, int N, int K, int M) {
	k=K;
	long long int x=1;
	while(x<k)
	{
		x*=2;
		maxlen++;
	}
	for(int i=0;i<N;i++)now[i].road=99999999999999999;
	for(int i=0;i<N;i++)
	{
		map[i]=now[C[i]].road;
		now[C[i]].road=i;
	}
	for(int i=0;i<N;i++)p[i]=-1;
	for(int i=0;i<K;i++)
	{
		t[i]=i;
		now[i].id=i;
		p[i]=i;
		push_heap(now,now+i+1,cmp());
	}
	//for(int i=0;i<K;i++)cout<<now[i].id<<" ";
	//cout<<endl;
	for(int i=0;i<N;i++)
	{
		if(p[C[i]]!=-1)continue;
		else
		{
			pop_heap(now,now+K,cmp());
			p[C[i]]=p[now[K-1].id];
			find(p[C[i]]);
			p[now[K-1].id]=-1;
			now[C[i]].road=map[now[C[i]].road];
			now[K-1].id=C[i];
			push_heap(now,now+K,cmp());
		}
	}
}
#include "assistant.h"
#include <iostream>
using namespace std;
long long int a[1000005],pp,malen;
int find()
{
	long long int tmp=0,x=1;
	for(int i=pp+1;i<=pp+malen;i++)
	{
		if(a[i]=='1')tmp+=x;
		x*=2;
	}
	return tmp;
}
void Assist(unsigned char *A, int N, int K, int R) {
	long long int now[100005],k,p[100005];
	//for(int i=0;i<R;i++)cout<<A[i]<<endl;
	k=K;
	long long int x=1;
	while(x<k)
	{
		x*=2;
		malen++;
	}
	for(int i=0;i<N;i++)p[i]=-1;
	for(int i=0;i<k;i++)
	{
		now[i]=i;
		p[i]=i;
	}
	for(int i=0;i<N;i++)
	{
		long long int tmp=GetRequest();
		if(p[tmp]!=-1)
		{
			continue;
		}
		long long int temp=find();
		PutBack(now[temp]);
		p[now[temp]]=-1;
		now[temp]=tmp;
		p[tmp]=temp;
	}
	
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 1004 KB Error - advice must be 0 or 1
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 1536 KB Error - advice must be 0 or 1
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 12 ms 6656 KB Error - advice must be 0 or 1
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 1024 KB Error - advice must be 0 or 1
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 16 ms 7976 KB Error - advice must be 0 or 1
2 Incorrect 19 ms 8192 KB Error - advice must be 0 or 1
3 Incorrect 15 ms 8192 KB Error - advice must be 0 or 1
4 Incorrect 16 ms 8192 KB Error - advice must be 0 or 1
5 Incorrect 17 ms 8192 KB Error - advice must be 0 or 1
6 Incorrect 16 ms 8192 KB Error - advice must be 0 or 1
7 Incorrect 20 ms 8432 KB Error - advice must be 0 or 1
8 Incorrect 16 ms 8192 KB Error - advice must be 0 or 1
9 Incorrect 15 ms 8192 KB Error - advice must be 0 or 1
10 Incorrect 16 ms 8192 KB Error - advice must be 0 or 1