news 2026/7/26 14:35:47

小明统计数组

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
小明统计数组
题目描述

小明最近喜欢上数组统计,但是他遇到了一道难题,题目如下:

最初数列是空的,那么一共有下面五种操作:

  1. a x 表示向数列里面增加数值为x的数;

  2. d x 表示删除数列里面数值为x的数;

  3. I 表示删除数列里面数值最大的数;

  4. m 表示删除数列里面数值最小的数;

  5. q 询问当前数列的和。

保证添加的元素都不不一样,对于删除操作,如果数列里面不存在这个元素,则不进行删除操作。小明不会做这个题,希望寻求你的帮助,聪明的你可以帮助小明解决这个问题吗?

在处理输入的时候要特别注意!题目中操作 3 的操作字符是 大写的 i,而不是小写的 l。

输入格式

第一行输入两个数n,表示操作的数目;

之后n行,每行为题目中描述的五种操作。

输出格式

对于每个询问,输出当前数列的和。

样例

【样例输入】

11 a 1 d 2 q a 2 a 3 a 4 q I q m q

【样例输出】

1 10 6 5
数据范围与提示
样例解释

a 1 增加1到数列里面

d 2 删除数列里面数值为2的元素,因为数列里面没有,所以不进行操作

q 询问,当前数列的和为1

a 2 增加2到数列里面

a 3 增加3到数列里面

a 4 增加4到数列里面

q 询问,当前数列的和为10

I 删除数列里面数值最大的元素,删除4

q 询问,当前数列的和为6

m 删除数列里面数值最小的元素,删除1

q 询问,当前数列的和为5

数据范围

1<=n<=100000

1<=x<=100000且x互不相同

一些想法

在最前面先定义一个关于 set 的迭代器 it,以便后面使用,循环输入字符,然后判断如果字符是‘a’,再输入一个数,在 set 中插入这个数。如果是‘d’,寻找 输入的数 如果不等于最后一个数的后面(就是如果这个数存在 set 中),删除这个数。如果等于 I,it 等于 --end(),就是等于最后一个数(正序排序后的最后一个数,也就是最大的数),如果 set 不为空,删除 it。如果等于‘m’,it等于第一个数(也就是最小的数),如果队列不为空,删除这个数。如果等于‘q’,用迭代器遍历 set,加上每一个数(set所有数之和),输出,换行。

AC代码

#include<bits/stdc++.h> using namespace std; int main(){ int n; cin>>n; set<int> s; set<int>::iterator it; for(int i=1;i<=n;i++){ char a; cin>>a; if(a=='a'){ int d; cin>>d; s.insert(d); } if(a=='d'){ int d; cin>>d; if(s.find(d)!=s.end()) s.erase(d); } if(a=='I'){ it=--s.end(); if(!s.empty()) s.erase(it); } if(a=='m'){ it=s.begin(); if(!s.empty()) s.erase(it); } if(a=='q'){ int sum=0; for(it=s.begin();it!=s.end();it++){ sum+=*it; } cout<<sum<<endl; } } return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/25 16:36:45

简单快速的终极CloudClient桌面云软件完整指南

简单快速的终极CloudClient桌面云软件完整指南 【免费下载链接】CloudClient桌面云软件下载Windows版本 欢迎使用 CloudClient 桌面云软件&#xff01;本仓库提供 CloudClient 桌面云软件的 Windows 版本下载。CloudClient 是一款功能强大的桌面云软件&#xff0c;旨在为用户提…

作者头像 李华
网站建设 2026/7/24 8:01:09

图神经网络实战突破:PyTorch Geometric如何提升模型部署效率

图神经网络实战突破&#xff1a;PyTorch Geometric如何提升模型部署效率 【免费下载链接】pytorch_geometric Graph Neural Network Library for PyTorch 项目地址: https://gitcode.com/GitHub_Trending/py/pytorch_geometric 你是否曾经面对大规模图数据时束手无策&am…

作者头像 李华
网站建设 2026/7/25 16:18:15

Windows服务远程部署创新方案:基于Quasar的高效实践指南

Windows服务远程部署创新方案&#xff1a;基于Quasar的高效实践指南 【免费下载链接】Quasar Remote Administration Tool for Windows 项目地址: https://gitcode.com/gh_mirrors/qua/Quasar 在企业IT运维领域&#xff0c;Windows服务远程部署已成为提升管理效率的关键…

作者头像 李华
网站建设 2026/7/24 19:06:59

实分析经典教材:Royden第四版完整资源指南

实分析经典教材&#xff1a;Royden第四版完整资源指南 【免费下载链接】实分析第四版RoydenH.L资源下载分享 - **文件名**: Real analysis 4ed ( Royden H.L).pdf- **文件类型**: PDF- **适用课程**: 实变函数泛函分析- **推荐机构**: 国立交通大学 项目地址: https://gitcod…

作者头像 李华
网站建设 2026/7/25 18:30:04

DNVGL-ST-0126风机支撑结构完整指南:权威标准与工程实践

DNVGL-ST-0126风机支撑结构完整指南&#xff1a;权威标准与工程实践 【免费下载链接】DNVGL-ST-0126风机支撑结构资源下载介绍 DNVGL-ST-0126风机支撑结构资源为工程师和技术人员提供了全面的标准和技术支持&#xff0c;涵盖设计、制造、测试和验收等关键环节。通过下载资源文件…

作者头像 李华
网站建设 2026/7/25 9:56:40

腾讯混元3D 2.0终极指南:零基础实现专业级3D建模

腾讯混元3D 2.0终极指南&#xff1a;零基础实现专业级3D建模 【免费下载链接】Hunyuan3D-2 Hunyuan3D 2.0&#xff1a;高分辨率三维生成系统&#xff0c;支持精准形状建模与生动纹理合成&#xff0c;简化资产再创作流程。 项目地址: https://ai.gitcode.com/tencent_hunyuan/…

作者头像 李华