伐木机不要石头!!!

简介: 伐木机不要石头!!!

伐木机不要石头!!!(easy version)

本题有对应的hard version,区别仅在多次询问中。保证easy version的测试用例集是hard version的真子集,通过困难版本的代码经过简单修改可直接通过简单版

看着家里贫瘠的资源,是时候出发采点木头了!可你突然发现家里没石头,连伐木机都造不好……于是,可露希尔替你发明了无敌手斧,只要木头!可是他的耐久度只有 1,使用完该手斧砍伐掉一棵树之后,该手斧将损坏无法继续使用,也就是一个无敌手斧只能砍一棵树。现在你已经拥有了大量的无敌手斧,信心百倍的进入了林区。你面前是 n棵排成一列的树,每棵树的坚硬程度为 ai,第一棵树的位置位于 1号点,第二棵位于 2号依次类推,直到第 n棵树。而你背包里的无敌手斧有 m个,每个的破坏程度为 bj,当一个无敌手斧的破坏程度不小于一棵树的坚硬程度时,无敌手斧可以将这棵树砍倒,砍倒后你就可以拿走这棵树的木材。那聪明的博士就会想了:如果博士想使用无敌手斧砍伐位置在 1到 n 这段区域内的树木,最多可以带走多少棵树的木材呢?

输入描述:第一行输入二个数 n,m 别表示树的棵数,无敌手斧的个数。 第二行输入 n个数 ai, 表示第 i棵树的坚硬程度。 第三行输入 m个数 bj, 表示第 j 个无敌手斧的破坏程度。 数据保证 1≤n,m≤10^5,1≤ai≤10^9,1≤bj≤10^9。

输出描述:输出一行非负整数,代表可拿走多少棵树的木材。

输入

5 5

1 2 3 4 5

1 1 4 4 5

输出:4

说明:第 1 棵树可以匹配上第 1个手斧。第 2棵树可以匹配上第 3个手斧。第 4棵树可以匹配上第 4个手斧。第 5棵树可以匹配上第 5个手斧。所以答案为 4。

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int sum, n, m, a[N], b[N];
int main() {
     ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  cin >> n >> m;
  for (int i = 1; i <= n; i++) cin >> a[i];
  for (int j = 1; j <= m; j++) cin >> b[j];
  sort(a + 1, a + n + 1);
  sort(b + 1, b + m + 1);
  for (int i = 1, j = 1; i <= n && j <= m; i++) {
    while (j <= m && i <= n && a[i] > b[j]) j++;
    if (j <= m && i <= n) {
      sum++;
      j++;
    }
  }
  cout << sum;
  return 0;
}

ios::sync_with_stdio(0)cin.tie(0)cout.tie(0)是为了关闭标准IO与Cstdio之间的同步,提高输入输出效率。


目录
相关文章
|
3月前
|
人工智能
石头、剪子、布小游戏图形化
石头、剪子、布小游戏图形化
15 0
|
6月前
1018 锤子剪刀布 (20 分)
1018 锤子剪刀布 (20 分)
|
7月前
HDU-1022-火车进出站问题
HDU-1022-火车进出站问题
29 0
|
7月前
|
算法
联想算法题-石头剪刀布
联想算法题-石头剪刀布
96 0
|
存储 JavaScript 索引
基于 HTML+CSS+JS 的石头剪刀布游戏
基于 HTML+CSS+JS 的石头剪刀布游戏
146 0
|
Shell
脚本编写 剪刀 、 石头、布游戏
脚本编写 剪刀 、 石头、布游戏
132 1
|
算法
石头剪刀布 L1-044 稳赢 15分
石头剪刀布 L1-044 稳赢 15分
|
弹性计算 数据安全/隐私保护 Python
石头剪刀布
本场景介绍如何在阿里云ECS环境下用Python实现一款人机对战小游戏:石头剪刀布。
[普及练习场] 生活大爆炸版石头剪刀布
[普及练习场] 生活大爆炸版石头剪刀布
178 0
|
测试技术 Python
PTA 1018 锤子剪刀布 (20 分)
大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示
159 0