ICPC-2021 甜甜圈题解

注意

  该博客是为了帮助同学学习,并非为了协助同学刷题,请读者保持自觉,请勿做CV工具人。另外为了节省篇幅,代码中不再写明#include,如果遇到我没有声明的函数,那么就是某一个头文件中的函数。

题干

  原题地址:ICPC-2021-J 甜甜圈 - 牛客

  艾洛喜欢吃甜食,他有n个甜甜圈,现在叠成了两叠(如下图所示),第一叠有n1个,第二叠有n2个(n1 + n2 = n),要解决的问题如下:

  • 每个甜甜圈都有一个唯一的甜度值si,甜度值两两不同
  • 每次艾洛可以把任意一叠位于顶端的一个甜甜圈移动到另一叠顶端,若该甜甜圈是当前所有甜甜圈中最甜的(甜度值最大),那么艾洛不会移动甜甜圈,而是直接吃掉

  请你求出艾洛吃完所有甜甜圈的最小移动步数。

甜甜圈

输入描述

第一行,两个正整数n1, n2(1 ≤ n1+n2 ≤ 100000),分别表示两叠甜甜圈的个数。
第二行,n1个整数,按从顶到底的顺序排列,表示第一叠甜甜圈的甜度值。
第三行,n2个整数,按从顶到底的顺序排列,表示第二叠甜甜圈的甜度值。
保证 1 ≤ si ≤ 6*106 且两两互不相同。

输出描述

总共一行,一个整数,表示最少步数。

示例

  输入:

3 3
1 4 5
2 7 3

  输出:

6

解题过程

  首先,我们很容易发现,对于任意一种情况我们都有固定的解法:

    • 0
      点赞
    • 1
      收藏
      觉得还不错? 一键收藏
    • 打赏
      打赏
    • 0
      评论

    “相关推荐”对你有帮助么?

    • 非常没帮助
    • 没帮助
    • 一般
    • 有帮助
    • 非常有帮助
    提交
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包

    打赏作者

    空梦丿

    你的鼓励将是我创作的最大动力

    ¥1 ¥2 ¥4 ¥6 ¥10 ¥20
    扫码支付:¥1
    获取中
    扫码支付

    您的余额不足,请更换扫码支付或充值

    打赏作者

    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值