提交记录 2121


用户 题目 状态 得分 用时 内存 语言 代码长度
Decyx_asmend 2001. 元旦激光炮·改 Compile Error 0 0 ns 0 KB C 1.16 KB
提交时间 评测时间
2018-06-21 21:11:56 2020-07-31 20:58:51
inline int min(int a,int b){return a<b?a:b;}
const int INF=0x3f3f3f3f;
const int *wa,*wb,*wc;
int na,nb,nc;
inline int get_a(int p){return p<na?wa[p]:INF;}
inline int get_b(int p){return p<nb?wb[p]:INF;}
inline int get_c(int p){return p<nc?wc[p]:INF;}
int query(int x,int y,int z,int k){
	// printf("query %d %d %d %d\n",x,y,z,k);
	int l=k/3;
	int a=get_a(x+l),b=get_b(y+l),c=get_c(z+l),w=min(min(a,b),c);
	if (!l){
		if (k==0)
			return w;
		if (k==1){
			if (w==a)
				return min(get_a(x+1),min(b,c));
			else if (w==b)
				return min(get_b(y+1),min(a,c));
			else return min(get_c(z+1),min(a,b));
		}
		if (k==2){
			if (w==a)
				x++,a=get_a(x);
			else if (w==b)
				y++,b=get_b(y);
			else z++,c=get_c(z);
			w=min(min(a,b),c);
			// printf("%d %d %d\n",x,y,z);
			if (w==a)
				return min(get_a(x+1),min(b,c));
			else if (w==b)
				return min(get_b(y+1),min(a,c));
			else return min(get_c(z+1),min(a,b));
		}
		// puts("WTF");
	}
	if (w==a)
		x+=l;
	else if (w==b)
		y+=l;
	else z+=l;
	return query(x,y,z,k-l);
}
int query_kth(const int *qa, int n_a, const int *qb, int n_b, const int *qc, int n_c, int k)
{
wa=qa,wb=qb,wc=qc;
na=n_a,nb=n_b,nc=n_c;
	return query(0,0,0,k-1);
}

CompilationN/AN/ACompile ErrorScore: N/A


Judge Duck Online | 评测鸭在线
Server Time: 2026-04-21 03:41:55 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠