首页 > 其他分享 >P8444 题解

P8444 题解

时间:2022-08-27 13:25:34浏览次数:90  
标签:P8444 return int 题解 long include

前言

题目传送门!

更好的阅读体验?

普及组月赛第二题。特殊数据好恶心啊,考试差点丢分了。

思路

贪心题,先给 \(a\) 数组排个序。

首先,肯定是买小于等于 \(w\) 的最大价格的物品。如果买不到,直接输出 \(0\)。

上面一点可以使用二分实现,速度快一点(直接用 STL 就行)。

然后,按价格从小到大枚举,见一个买一个。因为,只要可以买得起,根据贪心思想,买小的最划算

另外,记得判 \(n = 1\) 的情况。不过貌似不特判也能 AC。

代码

#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;
const int inf = 2147483647;
int a[1000005];
int main()
{
	int n, w, cnt = 0;
	scanf("%d", &n);
	for (int i = 1; i <= n; i++) scanf("%d", &a[i]);
	scanf("%d", &w);
	sort(a+1, a+n+1);
	if (a[1] > w) {putchar('0'); return 0;} //如果最便宜的物品都买不起,还搞个屑啊。 
	if (n == 1) {putchar('1'); return 0;} //可以买得起的情况下,特判。 
	int pos = upper_bound(a+1, a+n+1, w) - a - 1;
	long long sum = 0; //注意此处需要使用 long long。 
	for (int i = 1; i <= n; i++)
    {
        sum += a[i];
	    if (sum > a[pos])
	    {
	        printf("%d", i-1); //钱超过了,说明当前物品卖不了。 
	        return 0;
	    }
    }
	return 0;
}

希望能帮助到大家!
首发:2022-07-27 19:37:26

标签:P8444,return,int,题解,long,include
From: https://www.cnblogs.com/liangbowen/p/16622903.html

相关文章

  • CF1550C 题解
    前言题目传送门!更好的阅读体验?比赛时,这题写了一个\(O(n^3)\)算法,然后就过了。以为是数据水,实际上可以证明时间复杂度是\(O(n)\)的。思路关键是一个结论:当\(i<......
  • CF1720C 题解
    前言题目传送门!更好的阅读体验?赛时锁题后看别人代码,怎么都和我想法不一样?幸好没有被hack。思路以下把L字形的覆盖网格,直接称为L。贪心思考,我们想让每次L覆盖......
  • CF1720D1 题解
    前言题目传送门!更好的阅读体验?有点思维难度的DP优化题。小知识在做这道题之前,你需要知道:\(x-y,y-x\lex\oplusy\lex+y\)。证明非常简单,利用异或的性......
  • CF1548B 题解
    前言题目传送门!更好的阅读体验?做法:ST表加尺取。思路看到同余,立刻想到作差。我们建立差分数组\(c_i=|a_i-a_{i-1}|\),注意取了绝对值。此时,我们只需在\(c_i\)......
  • CF1715A 题解
    前言题目传送门!更好的阅读体验?赛时瞎胡了个结论,然后就过了。思路Megan从左下角到右上角,至少也得要\((n+m-1)\)步。于是考虑让Stanley少走几步。如图,容易......
  • CF1715C 题解
    前言题目传送门!更好的阅读体验?简单的数学题。思路每次只变一个数,因此考虑在短时间内计算:每个位置的数产生的贡献。容易发现以下的条件:不管\(a_i\)是什么,当它作......
  • CF1715B 题解
    前言题目传送门!更好的阅读体验?看起来挺难,其实一分钟就能想出来。思路首先考虑什么时候无解。由于\(k\times\left\lfloor\dfrac{a}{k}\right\rfloor\lea\le\le......
  • CF1715D 题解
    前言题目传送门!更好的阅读体验?感觉挺不错的一道图论转化题。(其实也和图论关系不大。)思路对于每个条件\(a_u\mida_v=x\),二进制拆掉\(x\)。如果\(x\)的二进制......
  • 「NOI2016」网格 题解
    「NOI2016」网格题解前言感谢zqm学长提供调代码服务!本文中,所有没有特殊说明的连通都是指四连通,相邻都是指上下左右相邻。题目大意有一个$n\timesm$的网格,上......
  • 【IAP Kit】应用内支付订单参数相关问题解析
    ​1、创建的订单orderId长度是多少?答:orderId的长度最大是255。 2、InappPurchaseDetails中orderId和payOrderId有什么区别呢?答:orderId和payOrderId这两者的区别如下:o......