msjing在T2卡了1个小时没过但是T310分钟抬了
solve
- 说白了就是两两配对,判条件,直接排序手法扫
sample3过不了
- 发现排序后不一定是一一对应,即\(a_i->b_i\)不正确,
用你说啊
- 换一种,分别扫a,b,一个个比
- 也可以考虑二叉堆
- 其实就是双指针扫描,直接干
code
#include<bits/stdc++.h>
#define endl '\n'
using namespace std;
constexpr int maxn=2e5+10;
long long n,m;
long long a[maxn],b[maxn];
int main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin >> n >> m;for (long long i=1;i<=n;i++) cin >> a[i];for (long long i=1;i<=m;i++) cin >> b[i];sort(a+1,a+1+n);sort(b+1,b+1+m);long long ans=0;for (long long i=1,l=1;i<=m && l<=n;i++,l++){if (b[i]<=a[l]*2) ans++;else{while (l<n){l++;if (b[i]<=a[l]*2){ans++;break;}}}}cout << ans << endl;return 0;
}
``