【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;
	
}

结果

相关推荐
电商API&Tina3 分钟前
电商数据采集 API 接口 全维度解析(技术 + 商业 + 合规)
java·大数据·开发语言·数据库·人工智能·json
小白学大数据6 分钟前
实测数据:多进程、多线程、异步协程爬虫速度对比
开发语言·爬虫·python·php
退休钓鱼选手13 分钟前
[CommonAPI + vsomeip]通信 客户端 5
c++·人工智能·自动驾驶
sonrisa_24 分钟前
Python同一类不同方法中变量值的传递
开发语言·windows·python
星火开发设计36 分钟前
C++ 输入输出流:cin 与 cout 的基础用法
java·开发语言·c++·学习·算法·编程·知识
玖釉-39 分钟前
探索连续细节层次(Continuous LOD):深入解析 NVIDIA 的 nv_cluster_lod_builder
c++·windows·图形渲染
We་ct1 小时前
LeetCode 289. 生命游戏:题解+优化,从基础到原地最优
前端·算法·leetcode·矩阵·typescript
自己的九又四分之三站台1 小时前
9:MemNet记忆层使用,实现大模型对话上下文记忆
人工智能·算法·机器学习
sayang_shao1 小时前
C++ ONNX Runtime 与 Python Ultralytics 库实现 YOLOv8 模型检测的区别
c++·python·yolo
曹牧1 小时前
Java:强类型转换
开发语言·python