mxqz,WA on #16
  • 板块CF670C Cinema
  • 楼主rzh123
  • 当前回复1
  • 已保存回复1
  • 发布时间2022/6/25 22:56
  • 上次更新2023/10/27 22:34:20
查看原帖
mxqz,WA on #16
237530
rzh123楼主2022/6/25 22:56
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N=200007,M=200007;
int n,m,a[N],b[M],c[M];
int aa[N],ab[N],cnt;
int pos,mxa=-666,mxb=-666,ta,tb;
int lcnt[N];
void discrete(){
	int nn=n+2*m;
	sort(aa+1,aa+nn+1);
	for(register int i=1;i<=nn;++i){
		if(i==1||aa[i]!=aa[i-1]){
			ab[++cnt]=aa[i];
		}
	}
}
inline int query(int x){
	return lower_bound(ab+1,ab+cnt+1,x)-ab;
}
signed main(){
	ios::sync_with_stdio(0),
	cin.tie(0);
	cin>>n;
	for(register int i=1;i<=n;++i){
		cin>>a[i];
		aa[i]=a[i];
	}
	cin>>m;
	for(register int i=1;i<=m;++i){
		cin>>b[i];
		aa[n+i]=b[i];
	}
	for(register int i=1;i<=m;++i){
		cin>>c[i];
		aa[n+m+i]=c[i];
	}
	discrete();
	for(register int i=1;i<=n;++i){
		++lcnt[query(a[i])];
	}
	for(register int i=1;i<=m;++i){
		ta=lcnt[query(b[i])],
		tb=lcnt[query(c[i])];
		//cout<<i<<":"<<ta<<","<<tb<<endl;
		if(ta>mxa){
			mxa=ta,
			mxb=tb;
			pos=i;
		}
		else if(ta==mxa){
			if(tb>mxb){
				mxb=tb;
				pos=i;
			}
		}
	}
	cout<<pos<<endl;
	return 0;
}
/*

*/

就是离散化,感觉和题解没区别了

2022/6/25 22:56
加载中...