网站建设总体要求洛阳万悦网站建设
2026/1/14 16:41:19 网站建设 项目流程
网站建设总体要求,洛阳万悦网站建设,seo教程大秦英扬,漳州软件开发公司题目描述小明最近喜欢上数组统计#xff0c;但是他遇到了一道难题#xff0c;题目如下#xff1a;最初数列是空的#xff0c;那么一共有下面五种操作#xff1a;a x 表示向数列里面增加数值为x的数#xff1b;d x 表示删除数列里面数值为x的数#xff1b;I 表示删除数列…题目描述小明最近喜欢上数组统计但是他遇到了一道难题题目如下最初数列是空的那么一共有下面五种操作a x 表示向数列里面增加数值为x的数d x 表示删除数列里面数值为x的数I 表示删除数列里面数值最大的数m 表示删除数列里面数值最小的数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 询问当前数列的和为1a 2 增加2到数列里面a 3 增加3到数列里面a 4 增加4到数列里面q 询问当前数列的和为10I 删除数列里面数值最大的元素删除4q 询问当前数列的和为6m 删除数列里面数值最小的元素删除1q 询问当前数列的和为5数据范围1n1000001x100000且x互不相同一些想法在最前面先定义一个关于 set 的迭代器 it以便后面使用循环输入字符然后判断如果字符是‘a’再输入一个数在 set 中插入这个数。如果是‘d’寻找 输入的数 如果不等于最后一个数的后面就是如果这个数存在 set 中删除这个数。如果等于 Iit 等于 --end(),就是等于最后一个数正序排序后的最后一个数也就是最大的数如果 set 不为空删除 it。如果等于‘m’it等于第一个数也就是最小的数如果队列不为空删除这个数。如果等于‘q’用迭代器遍历 set加上每一个数set所有数之和输出换行。AC代码#includebits/stdc.h using namespace std; int main(){ int n; cinn; setint s; setint::iterator it; for(int i1;in;i){ char a; cina; if(aa){ int d; cind; s.insert(d); } if(ad){ int d; cind; if(s.find(d)!s.end()) s.erase(d); } if(aI){ it--s.end(); if(!s.empty()) s.erase(it); } if(am){ its.begin(); if(!s.empty()) s.erase(it); } if(aq){ int sum0; for(its.begin();it!s.end();it){ sum*it; } coutsumendl; } } return 0; }

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询