QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#178920#3097. Shoppingsjc061031#Compile Error//C++202.1kb2023-09-14 15:31:252024-07-04 01:59:13

Judging History

你现在查看的是最新测评结果

  • [2024-07-04 01:59:13]
  • 评测
  • [2023-09-14 15:31:25]
  • 提交

Anna

#include "Anna.h"
#include <bits/stdc++.h>
using namespace std;

namespace{
	int n,l,r,all,a[10010],d[100010];
}

void InitA(int N,int L,int R){
	n=N;
	l=L;
	r=R;
	if(n<=10000){
		int posl=l/100;
		int posr=r/100;
		for(int i=0;i<9;i++){
			if(posl&(1<<i)) SendA(1);
			else SendA(0); 
		}
		for(int i=0;i<9;i++){
			if(posr&(1<<i)) SendA(1);
			else SendA(0);
		}
	}
	else{
		
	}
}

void ReceiveA(bool x){
	all++;
	a[all]=x;
}

int Answer(){
	if(n<=10000){
		int posl=l/100,posr=r/100,tot=0,minv=n+1,pos=-1;
		for(int i=posl;i<=posr;i++){
			int L=i*100,R=min((i+1)*100-1,n);
			if(i==posl||i==posr){
				for(int j=L;j<=R;j++){
					d[j]=0;
					for(int k=0;k<20;k++){
						tot++;
						if(a[tot]) d[j]+=(1<<k);
					}
				}
				for(int j=max(l,L);j<=min(r,R);j++){
					if(d[j]<minv){
						minv=d[j];pos=j;
					}
				}
			}
			else{
				int loc=0;
				for(int k=0;k<20;k++){
					tot++;
					if(a[tot]) loc+=(1<<k);
				}
				int cur=0;
				for(int k=0;k<20;k++){
					tot++;
					if(a[tot]) cur+=(1<<k);
				}
				if(cur<minv){
					minv=cur;pos=loc;
				}
			}
		}
		return pos;
	}
	else{
		return l;
	}
}

Bruno

#include "Bruno.h"
#include <bits/stdc++.h>
using namespace std;

namespace{
	int m,cnt,b[20],c[100010];
}

void InitB(int N,vector<int> P){
	m=N;
	for(int i=0;i<m;i++) c[i]=P[i];
}

void ReceiveB(bool y){
	if(m<=10000){
		cnt++;b[cnt]=y;
		if(cnt==18){
			int posl=0,posr=0;
			for(int i=1;i<=9;i++) posl+=(1<<(i-1))*b[i];
			for(int i=10;i<=18;i++) posr+=(1<<(i-10))*b[i];
			for(int i=posl;i<=posr;i++){
				int L=i*100,R=min((i+1)*100-1,m);
				if(i==posl||i==posr){
					for(int j=L;j<=R;j++){
						for(int k=0;k<20;k++){
							if(c[j]&(1<<k)) SendB(1);
							else SendB(0);
						}
					}
				}
				else{
					int minv=m+1,pos=-1;
					for(int j=L;j<=R;j++) if(c[j]<minv){
						minv=c[j];pos=j;
					}
					for(int k=0;k<20;k++){
						if(pos&(1<<k)) SendB(1);
						else SendB(0);
					}
					for(int k=0;k<20;k++){
						if(c[pos]&(1<<k)) SendB(1);
						else SendB(0);
					}
				}
			}
		}
	}
	else{
		
	}
}

Details

/usr/bin/ld: /tmp/ccuK9Rl7.o: in function `main':
implementer.cpp:(.text.startup+0x616): undefined reference to `calculate_necessary_time(int, int, long long, int, std::vector<int, std::allocator<int> >, std::vector<int, std::allocator<int> >, std::vector<long long, std::allocator<long long> >, std::vector<long long, std::allocator<long long> >, std::vector<int, std::allocator<int> >, std::vector<int, std::allocator<int> >, std::vector<long long, std::allocator<long long> >)'
collect2: error: ld returned 1 exit status