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;
}
相关推荐
福楠11 分钟前
C++ STL | map、multimap
c语言·开发语言·数据结构·c++·算法
Sarvartha23 分钟前
二分查找学习笔记
数据结构·c++·算法
难得的我们1 小时前
C++与区块链智能合约
开发语言·c++·算法
diediedei1 小时前
C++编译期正则表达式
开发语言·c++·算法
夏鹏今天学习了吗1 小时前
【LeetCode热题100(97/100)】二叉搜索树中第 K 小的元素
算法·leetcode·职场和发展
炽烈小老头2 小时前
【 每天学习一点算法 2026/01/26】缺失数字
学习·算法
小桃酥ღ2 小时前
[力扣每日习题][1339]. 分裂二叉树的最大乘积 2026.01.07
算法·leetcode·职场和发展
hrrrrb3 小时前
【算法设计与分析】贪心算法
算法·贪心算法·代理模式
TracyCoder1233 小时前
LeetCode Hot100(10/100)—— 53. 最大子数组和
算法·leetcode
Σίσυφος19004 小时前
霍夫变换vs LS vs RANSAC 拟合直线 MATLAB实现
算法·计算机视觉·matlab