Submission #343613

#TimeUsernameProblemLanguageResultExecution timeMemory
343613KerimQuestion (Grader is different from the original contest) (CEOI14_question_grader)C++17
100 / 100
4705 ms24480 KiB
int arr[924],pos;//C(12,6)
int encode (int n, int x, int y) {
	if(!pos){
		for(int i=0,x,y;i<4096;i++){x=i;y=0;
			while(x>=1)
				y+=(x%2),x/=2;	
			if(y==6)arr[pos++]=i;
		}
	}
	for(int i=0;i<12;i++)
		if((arr[x-1]>>i&1) and !(arr[y-1]>>i&1))
			return i+1;
}
int arr[924],pos;
int decode (int n, int q, int h){
	if(!pos){
		for(int i=0,x,y;i<4096;i++){x=i;y=0;
			while(x>=1)
				y+=(x%2),x/=2;	
			if(y==6)arr[pos++]=i;
		}
	}
	return (arr[q-1]>>(h-1)&1);
}

Compilation message (stderr)

encoder.cpp: In function 'int encode(int, int, int)':
encoder.cpp:13:1: warning: control reaches end of non-void function [-Wreturn-type]
   13 | }
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...