专栏文章
题解:AT_abc431_c [ABC431C] Robot Factory
AT_abc431_c题解参与者 2已保存评论 1
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @min8uedg
- 此快照首次捕获于
- 2025/12/01 22:27 3 个月前
- 此快照最后确认于
- 2025/12/01 22:27 3 个月前
时间复杂度瓶颈在排序,应为 。
思路
题目要求做到 。
下文中 是 数组的下标。 是 数组的下标。
考虑双指针,先对 和 升序排序。则有对于数对 ,若其不满足条件。则 都不满足条件。
直接考虑对于每个 ,去往后找第 个可行的 ,满足题目的要求,即 。每次找到后 和 都往右移动。没找到输出
No。时间复杂度为寻找 的 。代码
CPP#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=2e5+5;
int n,m,k,a[N],b[N],cnt;
signed main(){
scanf("%lld%lld%lld",&n,&m,&k);
for(int i=1;i<=n;i++) scanf("%lld",a+i);
for(int i=1;i<=m;i++) scanf("%lld",b+i);
sort(a+1,a+n+1);sort(b+1,b+m+1);
int i=1,j=1;
while(i<=n&&j<=m){
while(j<=m&&b[j]<a[i]) j++;
if(j>m) break;
i++;j++;
if(++cnt==k) return printf("Yes"),0;
}printf("No");
return 0;
}
撒花!
相关推荐
评论
共 1 条评论,欢迎与作者交流。
正在加载评论...