C.Save More Mice
题目大意: 在数轴上的 1 1 1位置为起始位置,有一只猫; n n n为终点,有一个洞。数轴上有一些老鼠。每次先选择一只老鼠向右移动一位,然后猫向右移动一位。当猫当前位置有老鼠,老鼠会被吃掉;如果老鼠移动到洞,则老鼠会被保护起来。求最多能保护多少只老鼠?
思路: 贪心思想,每次只能移动一步,那么要救尽可能多的老鼠,应当从最右侧的老鼠开始移动,那么按照这个顺序,开始模拟这个过程即可。
#include
using namespace std;
int arr[400005];
signed main(){
int t; cin >> t;
while(t--){
int n, k; cin >> n >> k;
for(int i = 0; i > arr[i];
}
sort(arr, arr + k);
int sum = 0, ans = arr[k - 1];
for(int i = k - 1; i >= 0; i--){
if(n - arr[i]
关注
打赏
热门博文
- 回坑记之或许是退役赛季?
- [LCT刷题] P1501 [国家集训队]Tree II
- [LCT刷题] P2147 洞穴勘测
- 2022-2023 ICPC Brazil Subregional Programming Contest VP记录
- [线段树套单调栈] 2019-2020 ICPC Asia Hong Kong Regional Contest H.[Hold the Line]
- The 2021 ICPC Asia Nanjing Regional Contest E.Paimon Segment Tree 区间合并线段树/维护矩阵乘法
- CF580E - Kefa and Watch 线段树维护哈希
- HDU5869 Different GCD Subarray Query 离线查询/区间贡献
- 27.CF1004F Sonya and Bitwise OR 区间合并线段树
- 26.CF1000F One Occurrence