题库首页 › 青少年软件编程(C语言) › 题目 9337

重启系统 小明帮助管理一个处理数据的计算系统,有N个待处理的任务,需要按照顺序来完成这些任务,即每次所完成任务的编号都要大于前一个完成任务的编号,且单个任务不可以分解完成。计算系统运行着一个奇怪的保护程序,它限制了系统当前所能处理的数据量不能超过上次完成任务所处理的数据量。重启系统可以使它立刻恢复到最高性能(一开始系统拥有最高性能,最高性能大于任何待处理任务的数据量)。小明有一次重启系统的权限(也可以不使用),你能帮他算出最多能完成几个任务吗? 时间限制:1000 内存限制:65536 输入 第一行: N (2 <= N <= 1000) 待处理的任务数 第二行: N个整数,每个任务的数据量 输出 输出只包括一行,这一行只包含一个整数,表示最多能完成的任务数。 样例输入 10 1 5 4 3 2 10 9 8 7 6 样例输出 9 提示 回想一下最长上升子序列问题

正确答案:参考程序(Python):重启系统。前后两段各求最长下降子序列(当前数据量不能超上次),总完成数=前段LDS+后段LDS取最大(可重启一次)。样例9。核心:两段LDS。

试卷来源:202403 青少年等级考试C/C++真题四级

本卷相关题目

在线做题 同科目题库