P8837 [传智杯 #3 决赛] 商店(贪心加双指针)

题目背景

思路解析:很经典的贪心问题,把物品按照从便宜到贵的顺序排好序,然后按照富贵程度排人,直接暴力会tle所以这里采用双指针.

cpp 复制代码
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<string>
using namespace std;
int n, m, res;
int qian[100005], jia[100005];
int main()
{
    cin >> n >> m;
    for (int i = 0; i < n; i++)
        cin >> qian[i];
    for (int i = 0; i < m; i++)
        cin >> jia[i];
    sort(qian, qian + n);
    sort(jia, jia + m);//排序
    int j = 0, i = 0;
    while(1)//循环往后
     //i代表了钱数的坐标,j代表了价格的坐标
    {
        if (i > n || j > m) break;//表示越界直接break
        if (qian[i]>=jia[j])//钱够直接买
        {
            res++;
            i++;
            j++;
        }
        else{
            i++;//让钱多的人来
        }
    }
    cout << res;
    return 0;
}
相关推荐
历程里程碑14 小时前
双指针1:移动零
大数据·数据结构·算法·leetcode·elasticsearch·搜索引擎·散列表
亲爱的非洲野猪14 小时前
动态规划进阶:博弈DP深度解析
算法·动态规划
Dovis(誓平步青云)14 小时前
《优化算法效率的利器:双指针的原理、变种与边界处理》
linux·运维·算法·功能详解
多米Domi01114 小时前
0x3f 第41天 setnx的分布式锁和redission,白天写项目书,双指针
数据结构·分布式·python·算法·leetcode·缓存
智者知已应修善业14 小时前
【输入字符串不用数组回车检测转换连续数字为整数】2024-10-26
c语言·c++·经验分享·笔记·算法
智者知已应修善业14 小时前
【整数各位和循环求在0-9范围】2024-10-27
c语言·c++·经验分享·笔记·算法
燃于AC之乐14 小时前
我的算法修炼之路--9——重要算法思想:贪心、二分、正难则反、多重与完全背包精练
c++·算法·贪心算法·动态规划·二分答案·完全背包·多重背包
Swift社区14 小时前
LeetCode 383 赎金信
算法·leetcode·职场和发展
晚风吹长发14 小时前
初步理解Linux中的信号概念以及信号产生
linux·运维·服务器·算法·缓冲区·inode
后来后来啊14 小时前
20261.23 &1.24学习笔记
笔记·学习·算法