纸牌
时间限制:1 sec
空间限制:512 MB
问题描述
小明有 2n 张纸牌,点数依次从1 到 2n。小明要和你玩一个游戏,这个游戏中,每个人都会分到 n 张卡牌。游戏一共分为 n 轮,每轮你们都要出一张牌,点数小者获胜。
游戏开始了,你拿到了你的牌。你现在想知道,你最多(也就是运气最好的情况下)能够获胜几轮?
输入格式
第一行 1 个正整数 n。
第 2 行到第 n+1 行每行一个正整数 a[i],表示你的第 i 张牌的点数。
输出格式
一行一个整数表示你最多能够获胜的轮数。
样例输入
2
1
4
样例输出
1
数据范围
对于 31.25% 的数据,保证 1<=n<=100
对于 100% 的数据,保证 1<=n<=50,000
保证数据的合法性,即你即不会拿到重复的牌,又不会拿到超出点数范围的牌。
另外,本题不提供程序模板和代码填空。
大家经过了一期算法训练营的训练,现在,来尝试一下自己独立写一道题吧!
青蛙
题目名称:小青蛙
时间限制:5 sec
空间限制:256 MB
问题描述
一个坐标轴上有 nn 个荷叶,编号从 11 到 nn。每片荷叶有一个坐标。
有一只可爱的小青蛙,它任选一片荷叶作为起点,并选择一个方向(左或右)然后开始跳。第一次跳跃时,他没有任何限制。从第二次跳跃开始,受到魔法的影响,他每次跳跃的距离都必须不小于前一次跳跃的距离,且跳跃方向必须与上一次跳跃保持一致。
每一片荷叶上都有一个数值。每次小青蛙跳到一片荷叶上时,他就会获得该荷叶对应的数值。特别地,他初始选择的荷叶的数值也是能得到的。
小青蛙可以在任意时刻选择停止跳跃。
可爱的小青蛙希望能获得尽可能大的数值总和。你能帮帮她吗?
输入格式
第一行个整数 nn,意义见问题描述。
第二行到第 n+1n+1 行,每行 2 个整数 xixi 和 sisi,描述一片荷叶,其中 xixi 表示这片荷叶的坐标,sisi 表示这片荷叶上的数值。
输出格式
一行一个整数,表示小青蛙能够获得的最大的数值总和。
样例输入
6
5 6
1 1
10 5
7 6
4 8
8 10
样例输出
25
数据范围
对于 30% 的测试点,保证 n≤8n≤8;
对于 50% 的测试点,保证 n≤120n≤120;
对于 70% 的测试点,保证 n≤600n≤600;
对于 100% 的测试点,保证 1≤n≤10001≤n≤1000,0≤xi,si≤1060≤xi,si≤106。
提示
本题时间限制较大,可以考虑一些效率一般的算法哦!
另外,本题不提供程序模板和代码填空。
大家经过了一期算法训练营的训练,现在,来尝试一下自己独立写一道题吧!