【16届蓝桥杯寒假刷题营】第2期DAY5

ops/2025/2/1 20:55:40/

5.变变数组 - 蓝桥云课

给定一个长度为 n 的整数数组 A,A 中第 i 个元素为 Ai​(1≤i≤n),你只能在 A 中选择一个元素 a,将 A 中所有数值等于 a 的元素变为 a2,请问变化后 A 中所有元素和的最大为多少。

输入格式

输入共 2 行。

第一行包含一个整数 n,表示整数数组 A 中元素的个数。

第二行包含 n 个整数,表示整数数组 A 中各个元素的值。

输出格式

输出共一行,包含一个整数,表示变换后 A 中所有元素和的最大值。

样例输入

5
-3 1 0 2 2

样例输出

14

评测数据规模

对于所有评测数据,1≤n≤1e5,−1e4≤Ai​≤1e4。

思路如下:
相当于暴力,先计算未被改变的总和,之后再分别计算改变这个数的总和,求出最大。

代码如下:
 

#include<iostream>
#include<algorithm>
#include<map>
using namespace std;
typedef long long ll;
const ll N = 1e5+10;
ll n; 
ll maxn = -1e9;
ll sum;
int main(void)
{map <int,int> mp;cin >> n;for(ll i = 1 ; i <= n ; i++){ll x;cin >> x;mp[x]++;sum += x;//先计算未改变的总和 }for(auto it = mp.begin() ; it != mp.end() ; it++) {ll key = it->first;ll num = it->second; maxn = max(maxn,sum - num*key + num*key*key);}cout << maxn;return 0;
}


http://www.ppmy.cn/ops/154853.html

相关文章

软件工程概论试题一

一、单选 1.下面关于“发布测试”的观点错误的是( )。 A.系统开发团队不应该负责发布测试 B.发布测试是一个确认检查的过程 C.发布测试的目的是让系统供应商确信系统足够好可以使用了 D.发布测试通常采用白盒测试 正答&#xff1a;D 2.下图最有可能是()体系结构风格。 A. C…

PID 温控设计(基于 STC51)

PID 温控设计&#xff08;基于 STC51&#xff09; 一、需求分析 开关型控制存在的问题&#xff1a;加热的过程是全功率加热&#xff0c;三极管发热量大&#xff0c;温度控制振荡幅度大&#xff0c;控制精度较低。而通过采用PID方法能够更加精确地控制加热片处于目标温度&…

组合模式 - 组合模式的实现

引言 组合模式&#xff08;Composite Pattern&#xff09;是一种结构型设计模式&#xff0c;它允许你将对象组合成树形结构来表示“部分-整体”的层次结构。组合模式使得客户端可以统一地处理单个对象和组合对象&#xff0c;从而简化了代码的复杂性。本文将详细介绍如何在C中实…

electron typescript运行并设置eslint检测

目录 一、初始化package.json 二、安装依赖 三、项目结构 四、配置启动项 五、补充&#xff1a;ts转js别名问题 已整理好的开源代码&#xff1a;Type-Electron: 用typescript开发的electron项目脚手架&#xff0c;轻量级、支持一键配置网页转PC - Gitee.com 一、初始化pac…

Spring RESTful API 设计与实现

Spring RESTful API的设计与实现极大地提升了开发效率和系统可维护性,通过遵循RESTful设计原则,使得API结构清晰、行为一致,便于扩展和维护。它在构建微服务架构中扮演着核心角色,支持松耦合的通信,同时通过标准的HTTP协议和数据格式增强了系统的互操作性。结合Spring Sec…

微服务学习-负载均衡器 LoadBalancer 实战

1. LoadBalancer 是什么&#xff1f; Spring Cloud LoadBalancer 是 Spring Cloud 官方自己提供的客户端负载均衡器&#xff0c;用来替代 Ribbon。 官方文档&#xff1a;Spring Cloud LoadBalancer :: Spring Cloud Commons 2. LoadBalancer 作用 从注册中心拉去服务列表&a…

FFmpeg(7.1版本)的基本组成

1. 前言 FFmpeg 是一个非常流行的开源项目&#xff0c;它提供了处理音频、视频以及其他多媒体内容的强大工具。FFmpeg 包含了大量的库&#xff0c;可以用来解码、编码、转码、处理和播放几乎所有类型的多媒体文件。它广泛用于视频和音频的录制、转换、流媒体传输等领域。 2. F…

深入 Rollup:从入门到精通(三)Rollup CLI命令行实战

准备阶段&#xff1a;初始化项目 初始化项目&#xff0c;这里使用的是pnpm&#xff0c;也可以使用yarn或者npm # npm npm init -y # yarn yarn init -y # pnpm pnpm init安装rollup # npm npm install rollup -D # yarn yarn add rollup -D # pnpm pnpm install rollup -D在…