求调简单排序 悬双关!
查看原帖
求调简单排序 悬双关!
716206
pengzy楼主2024/6/17 12:19

rt,60pts

#include<bits/stdc++.h>
#define ll long long
using namespace std;
inline int read()
{
	int x=0,f=1;char c=getchar();
	while(!isdigit(c)){if(c=='-')f=-1;c=getchar();}
	while(isdigit(c)){x=x*10+c-48;c=getchar();}
	return x*f;
}
inline void write(int x)
{
	if(x>9)write(x/10);
	putchar(x%10+48);
}
const int Max=2e4+10;
int n,m,a[Max],b[Max],ans;
int main()
{
	n=read(),m=read();
	for(int i=1;i<=n;i++)a[i]=read();
	for(int i=1;i<=m;i++)b[i]=read();
	sort(a+1,a+1+n);
	sort(b+1,b+1+m);
	int k=0;
	for(int i=1;i<=n;i++) {
		int t=lower_bound(b+k+1,b+1+m,a[i])-b;
		if(t>n) {
			cout<<"you died!";
			return 0;
		}
		ans+=b[t];
		k=t;
	}
	cout<<ans;
	return 0;
}
2024/6/17 12:19
加载中...