yxc 的日常

yxc 的日常

Time Limit: 1000MS  Memory Limit: 65536KB

Problem Description

yxc 特别喜欢睡觉,但是由于上课和训练,他睡觉的时间并不是连续的,他间断的分别睡了 a1, a2, a3 ... an 分钟。

yxc 每天都要睡 25 个小时才能满足他的睡眠需求,yxc 很好奇今天是否完成了他的睡眠需求,但是他特别懒,所以请你编写一个程序,帮他计算今天是否满足了睡眠需求。如果你完成了任务,yxc 将会送给你一个 Accepted。

Input

输入数据有多组 , 到 EOF 结束。

对于每组数据 输入一个N(1<=N<=100), 表示 yxc 有多少个睡眠时间。

  • 接下来一行输入 N 个数 ai(0 <= ai <= 24),表示 yxc 睡了多少小时。
Output

如果 yxc 睡够了 25 小时,那么输出 “YES”,否则输出“NO”。

Example Input
5
1 2 3 4 5
Example Output
NO
Hint

一天只有 24 小时。

Author
Fish
#include<stdio.h>
int main ()
{
    int sum , k ,  n , i ;
    while(~scanf ("%d", &n))
    {
        sum = 0 ;
        for (i = 1 ; i <= n ; i++)
        {
            scanf("%d" , &k);
            sum += k;
        }
        if (sum >= 25)
            printf("YES\n");
        else
            printf("NO\n");
    }
}
### 关于 `yxc` 算法的时间复杂度分析 在讨论 `yxc` 的时间复杂度之前,需明确具体指的是哪个算法或函数。根据提供的引用内容[^4],`yxc` 并不是一个具体的算法名称,而是一个作者或者课程的标记符。因此,这里可能涉及的是其课程中讲解的各种经典算法的时间复杂度。 #### 1. **快速排序** 快速排序是一种基于分治思想的经典排序算法。它的平均时间复杂度为 \(O(N\log N)\),但在最坏情况下(当每次划分选取的基准都是最大值或最小值时),时间复杂度会退化到 \(O(N^2)\)[^5]。然而,在实际应用中,通过随机化选择基准的方式可以有效降低这种可能性。 #### 2. **堆排序** 堆排序利用二叉堆结构完成排序操作,构建初始堆的过程需要 \(O(N)\) 的时间开销,随后每轮调整堆的操作均摊下来也是 \(O(\log N)\)。总体而言,堆排序的时间复杂度稳定为 \(O(N\log N)\)。 #### 3. **归并排序** 归并排序同样遵循分治策略,将数组不断分割至单个元素后再逐步合并已有序的部分序列。由于每一层分裂与合并都需要遍历整个数组一次,总共有 \(\log N\) 层递归调用,故整体时间复杂度亦为 \(O(N\log N)\)。 #### 4. **KMP 字符串匹配算法** KMP 是一种高效的字符串模式匹配方法,它通过对模式串预先处理得到部分匹配表 (Partial Match Table, PMT),从而避免回溯主串指针带来的额外消耗。最终 KMP 可在线性时间内完成任意长度的目标串扫描工作,即时间复杂度为 \(O(M+N)\),其中 M 和 N 分别代表模式串和目标串的长度。 #### 5. **Trie 树插入与查询** 对于 Trie 树这一种多路前缀树形数据结构来说,无论是执行单词插入还是检索操作,所需花费的时间仅取决于字符数量而非存储节点总数。假定 L 表示关键词的最大长度,则上述两项基本功能均可达到 \(O(L)\) 的理想性能表现。 综上所述,“yxc”所涵盖的内容包含了多种不同类型的高效算法设计范例及其对应理论上的运行效率评价标准。但需要注意的是,这些结论成立的前提条件往往包括合理的输入分布假设以及恰当的数据预处理措施等因素共同作用的结果。 ```python def example_quick_sort(arr): if len(arr) <= 1: return arr else: pivot = arr[len(arr) // 2] left = [x for x in arr if x < pivot] middle = [x for x in arr if x == pivot] right = [x for x in arr if x > pivot] return example_quick_sort(left) + middle + example_quick_sort(right) ```
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值