试题编号: 202109-1
试题名称: 数组推导
时间限制: 1.0s
内存限制: 512.0MB
问题描述:

题目描述
A1,A2,…,An是一个由 n个自然数(即非负整数)组成的数组。在此基础上,我们用数组B1…Bn表示A的前缀最大值。
Bi=max{A1,A2,...,Ai}Bi=max\{A1,A2,...,Ai\}Bi=max{A1,A2,...,Ai}
如上所示,Bi定义为数组A中前i个数的最大值。
根据该定义易知A1=B1,且随着i的增大,Bi单调不降。
此外,我们用sum=A1+A2+…+An表示数组A中n个数的总和。

现已知数组B,我们想要根据B的值来反推数组A。
显然,对于给定的B,A的取值可能并不唯一。
试计算,在数组A所有可能的取值情况中,sum的最大值和最小值分别是多少?

输入格式
从标准输入读入数据。

输入的第一行包含一个正整数n。

输入的第二行包含n个用空格分隔的自然数B1,B2,…,Bn。

输出格式
输出到标准输出。

输出共两行。

第一行输出一个整数,表示sum的最大值。

第二行输出一个整数,表示sum的最小值。

样例1输入
6
0 0 5 5 10 10
样例1输出
30
15
样例1解释
数组A的可能取值包括但不限于以下三种情况。

情况一:A = [0, 0, 5, 5, 10, 10]

情况二:A = [0, 0, 5, 3, 10, 4]

情况三:A = [0, 0, 5, 0, 10, 0]

其中第一种情况 sum = 30 为最大值,第三种情况 sum = 15 为最小值。

样例2输入
7
10 20 30 40 50 60 75
样例2输出
285
285
样例2解释
A = [10, 20, 30, 40, 50, 60, 75] 是唯一可能的取值,所以 sum 的最大、最小值均为 285。

子任务
50% 的测试数据满足数组 B 单调递增,即 0 < B1 < B2 < … < Bn < 105

全部的测试数据满足 n ≤ 100 且数组 B 单调不降,即 0 ≤ B1 ≤ B2 ≤ … ≤ Bn ≤ 105

问题链接:CCF202109-1 数组推导
问题简述:(略)
问题分析
  需要计算B数组之和,B数组不重复数之和。
  由于B单调递增,用C/C++和Java语言程序中,去除重复只需要前后元素进行比较就可以了。
  这个题没有必要用数组来存储读入的数据,读入数据流中的数据进行计算处理就可以了。
程序说明:Python的解题程序由仙客传奇团队的郭同学提供。
参考链接:(略)
题记:(略)

100分的C语言程序如下:

/* CCF202109-1 数组推导 */#include <stdio.h>int main()
{int n, b, last = - 1, sum = 0, sum2 = 0, i;scanf("%d", &n);for (i = 1; i <= n; i++) {scanf("%d", &b);sum += b;if (b != last) sum2 += b;last = b;}printf("%d\n%d\n", sum, sum2);return 0;
}

100分的Java语言程序如下:

/* CCF202109-1 数组推导 */import java.util.Scanner;public class Main {public static void main(String args[]){Scanner sc = new Scanner(System.in);int n = sc.nextInt(), b, last = -1, sum = 0, sum2 = 0;for (int i = 1; i <= n; i++) {b = sc.nextInt();sum += b;if (b != last) sum2 += b;last = b;}System.out.println(sum);System.out.println(sum2);   }
}

100分的Python语言程序如下:

# CCF202109-1 数组推导n = int(input())
nums = [int(num) for num in input().split()]
print(sum(nums))
print(sum(set(nums)))

CCF202109-1 数组推导(100分)【序列处理】相关推荐

  1. 【CCF-CSP】202109-1-数组推导100分(含详细注释)

    一.代码如下: #include <iostream>using namespace std; #define N 101 int n=0;//n个数 int b[N];//存储Bn的值 ...

  2. CCF201604-1 折点计数(100分)【序列处理】

    试题编号: 201604-1 试题名称: 折点计数 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 给定n个整数表示一个商店连续n天的销售量.如果某天之前销售量在增长,而后一天 ...

  3. CCF201509-1 数列分段(100分)【序列处理】

    试题编号: 201509-1 试题名称: 数列分段 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 给定一个整数数列,数列中连续相同的最长整数序列算成一段,问数列中共有多少段? ...

  4. CSP202012-1 期末预测之安全指数(100分)【序列处理】

    试题编号: 202012-1 试题名称: 期末预测之安全指数 时间限制: 1.0s 内存限制: 512.0MB 问题描述: 样例1输入 6 2 60 10 100 0 70 0 0 -10 50 10 ...

  5. CCF202109-2 非零段划分(100分)【序列处理】

    试题编号: 202109-2 试题名称: 非零段划分 时间限制: 1.0s 内存限制: 512.0MB 问题描述: 题目描述 A1,A2,-,An是一个由 n 个自然数(非负整数)组成的数组.我们称其 ...

  6. CCF201703-1 分蛋糕(100分)【序列处理】

    试题编号: 201703-1 试题名称: 分蛋糕 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 小明今天生日,他有n块蛋糕要分给朋友们吃,这n块蛋糕(编号为1到n)的重量分别 ...

  7. CCF201612-1 中间数(100分)【序列处理+排序】

    试题编号: 201612-1 试题名称: 中间数 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 在一个整数序列a 1, a 2, -, a n中,如果存在某个数,大于它的整数 ...

  8. CCF201609-1 最大波动(100分)【序列处理】

    试题编号: 201609-1 试题名称: 最大波动 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 小明正在利用股票的波动程度来研究股票.小明拿到了一只股票每天收盘时的价格,他 ...

  9. CCF201412-1 门禁系统(100分)【序列处理】

    试题编号: 201412-1 试题名称: 门禁系统 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 涛涛最近要负责图书馆的管理工作,需要记录下每天读者的到访情况.每位读者有一个 ...

最新文章

  1. 欧盟调查或拖累进程 高通收购NXP一波三折
  2. 10、MySQL权限控制实现原理
  3. [转] Boost智能指针——scoped_ptr
  4. 怎么简单的锁定文件夹_简单性与鲁棒性–在锁定文件处理中展示
  5. oracle怎么使用包,oracle包(package)入门——应用实例
  6. Linux系统编程 -- 可执行文件结构与进程在内存中的分布
  7. iPhoneiPad DFU及恢复模式刷机、降级教程
  8. verlay虚拟化技术_Overlay解决虚拟化难题 - 节点动态 - 海南师范大学信息网络与数据中心| Network Center HaiNan Normal University...
  9. creo绘图属性模板_creo完整制作工程图模板
  10. thinkphp6 循环 视图_ThinkPHP6 视图
  11. 虫虫吃第一颗豆子---第一次作业
  12. 光滑性准则(Smoothness Rule) 递推方程(Recursive Equation)
  13. VLC-3.0全部详细参数
  14. MapReduce自定义排序、分区、分组案例
  15. 全球语言标准码(ISO-639)
  16. BZOJ 5317: [Jsoi2018]部落战争
  17. switch日版有中文吗_原神switch日版和港版能不能玩 用日版NS能玩原神吗
  18. ipad和iphone适配_如何通过内容缓存在Mac,iPhone和iPad上加快下载速度
  19. Ubuntu20.04 安装NVIDIA驱动+ CUDA11
  20. antd table 被内容撑开,设置columns宽度失效

热门文章

  1. 安装Sarge(六) 安装开发环境
  2. 2.2 The Environment Abstraction Layer (EAL)
  3. 偶遇拍外景的小姐姐们
  4. Dialog高仿Toast实现
  5. C#正则表达式——网游角色起名仅允许汉字、字母、数字、底划线
  6. 微信小程序之WebSocket
  7. 基于libmemcached为php扩展memcached服务
  8. Managed I/O Completion Ports (IOCP)
  9. oracle运维dba面试题,一份DBA面试题目---亲身经历
  10. 每天Leetcode 刷题 初级算法篇-数学问题-3的幂