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;
}
相关推荐
红豆诗人2 分钟前
算法和数据结构--时间复杂度和空间复杂度
数据结构·算法
高山上有一只小老虎8 分钟前
小红的字符串
java·算法
2501_9418108310 分钟前
在班加罗尔智慧教育场景中构建在线学习实时监控与高并发课程管理平台的工程设计实践经验分享
算法
星火开发设计15 分钟前
折半插入排序原理与C++实现详解
java·数据结构·c++·学习·算法·排序算法·知识
老鼠只爱大米19 分钟前
LeetCode算法题详解 1:两数之和
算法·leetcode·面试题·两数之和·two sum
欧阳天羲19 分钟前
ML工程师学习大纲
学习·算法·决策树
AI爱好者202032 分钟前
智能优化算法2025年新书推荐——《智能优化算法及其MATLAB实例(第4版)》
开发语言·算法·matlab
LYFlied39 分钟前
【每日算法】LeetCode215. 数组中的第K个最大元素
前端·算法
炽烈小老头40 分钟前
【每天学习一点算法 2026/01/06】最小栈
学习·算法·leetcode
mit6.8241 小时前
hadoop|贪心
算法