首页 > 试题广场 >

糕点

[编程题]糕点
  • 热度指数:10974 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解

小团的蛋糕铺长期霸占着美团APP中“蛋糕奶茶”栏目的首位,因此总会吸引各路食客前来探店。

小团一天最多可以烤n个蛋糕,每个蛋糕有一个正整数的重量。

早上,糕点铺已经做好了m个蛋糕。

现在,有一个顾客要来买两个蛋糕,他希望买这一天糕点铺烤好的最重的和最轻的蛋糕,并且希望这两个蛋糕的重量恰好为a和b。剩余的n-m个蛋糕可以现烤,请问小团能否满足他的要求?

数据范围:
进阶:时间复杂度,空间复杂度

输入描述:

输入包含多组数据,每组数据两行。

每组数据的第一行包含4个整数,n,m,a,b,空格隔开。这里不保证a和b的大小关系。

接下来一行m个数,空格隔开,代表烤好的蛋糕重量



输出描述:

对于每一组数据,如果可以办到顾客的要求,输出YES,否则输出NO

示例1

输入

4 2 2 4
3 3
4 2 2 4
1 1
4 2 2 4
5 5
4 2 4 2
2 4
2 2 2 4
3 3
3 2 2 4
3 3
3 2 2 4
3 3

输出

YES
NO
NO
YES
NO
NO
NO

备注:

对于40%的数据,

对于100%的数据,,蛋糕重量不会超过1000

头像 zhangbw_
发表于 2023-03-01 07:43:01
C++ 模拟 另 mi = min(a,b), ma = max(a,b) 使用flag记录是否存在已经做好的蛋糕大于最大值或小于最小值。 使用 flag_min记录缺少的 最小值的数量, 初始值为1 使用 flag_max记录缺少的最大值的数量, 初始值为1 最后判断 flag是否为true并且剩 展开全文
头像 就在这里超越极限
发表于 2021-04-04 14:35:25
暴力方法,每个条件都用Collections.sort方法排序,判断最小的和最大的是否等于a和b import java.util.*; public class Main{ public static void main(String[]args){ Scanner inp 展开全文
头像 whoway
发表于 2021-03-13 10:52:14
#include<bits/stdc++.h> using namespace std; const int maxn=1e5+5; int solve[maxn]; int myMin,myMax; int n,m,a,b; int main() { while( ~s 展开全文