【CSP CCF记录】数组推导

题目

过程

思路

每次输入一个Bi即可确定一个Ai值,用temp记录1~B[i-1],的最大值分为两种情况:

  1. 当temp不等于Bi时,则说明Bi值之前未出现过,Ai必须等于Bi才能满足Bi是Ai前缀最大的定义。
  2. 当temp等于Bi时,则说明Bi值之前已经出现过,此时Ai最小为0,最大为Bi。

最大值big和最小值small根据不同情况相加。

代码

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
int n;
int B[100010];
int main()
{
	cin>>n;
	int big=0;
	int small=0;
	int temp=0;//当前最大值 
	for(int i=1;i<=n;i++)
	{
		cin>>B[i];
		
		if(temp!=B[i]) 
		{
			big+=B[i];
			temp=B[i];
			small+=temp; 
		}
		else
		{
			big+=temp;
			small+=0;
		}
		
	}
	cout<<big<<endl;
	cout<<small<<endl;
	
}

结果

相关推荐
爱吃烤鸡翅的酸菜鱼7 分钟前
【Java】封装位运算通用工具类——用一个整数字段替代几十个布尔列,极致节省存储空间
java·开发语言·设计模式·工具类·位运算·合成复用原则
网域小星球8 分钟前
C 语言从 0 入门(二十一)|typedef 类型重定义:简化复杂类型,代码更清爽
c语言·算法·类型重定义·结构体简化·函数指针简化
xinhuanjieyi10 分钟前
php给30支NBA球队添加logo图标,做好对应关系
android·开发语言·php
XWalnut12 分钟前
LeetCode刷题 day10
数据结构·算法·leetcode
菜菜小狗的学习笔记13 分钟前
八股(三)Java并发
java·开发语言
史迪仔011216 分钟前
[QML] 交互事件深度解析:鼠标、键盘、拖拽
前端·c++·qt
米啦啦.29 分钟前
类继承、子类拷贝构造函数、赋值运算符重载函数、多继承(虚继承)
c++·多继承·类继承·赋值运算符重载
一晌小贪欢31 分钟前
PyQt5 开发一个 PDF 批量合并工具
开发语言·qt·pdf
神仙别闹31 分钟前
基于 MATLAB 实现的图像信号处理
开发语言·matlab·信号处理
swift1922137 分钟前
Qt多语言问题 —— 静态成员变量
开发语言·c++·qt