本文共 943 字,大约阅读时间需要 3 分钟。
第1行:2个数N, M中间用空格分隔,N为井的深度,M为盘子的数量(1 <= N, M <= 50000)。第2 - N + 1行,每行1个数,对应井的宽度Wi(1 <= Wi <= 10^9)。第N + 2 - N + M + 1行,每行1个数,对应盘子的宽度Di(1 <= Di <= 10^9)
输出最终落到井内的盘子数量。
7 5564362323524
4
思路:在存储井的宽度的时候,注意应该是非递增的。详情见代码
const int maxn=50000+10;int a[maxn],b[maxn];int n,m;int main(){ ios::sync_with_stdio(false); cin>>n>>m; int maxw=1000000009,x; for(int i=n;i>0;i--) { cin>>x; maxw=min(maxw,x); a[i]=maxw; } for(int i=1;i<=m;i++)cin>>b[i]; int i=1,j=1; int ans=0; while(i<=n) { if(a[i]>=b[j]) { i++; j++; ans++; } else i++; } cout<<
转载地址:http://ueali.baihongyu.com/