AtCoder Beginner Contest 240 D
先看题面
Problem Statement
Takahashi has N balls. Each ball has an integer not less than 2 written on it. He will insert them in a cylinder one by one. The integer written on the i-th ball is ai.
The balls are made of special material. When k balls with k (k≥2) written on them line up in a row, all these k balls will disappear.
For each i (1≤i≤N), find the number of balls after inserting the i-th ball.
Constraints
1≤N≤2×10^5
2≤ai ≤2×10^5 (1≤i≤N)
All values in input are integers.
大意就是高桥有N个球。每个球上都写有一个不小于2的整数。他将它们一个接一个地插入一个圆柱体中。第i个球上的整数是ai。
这些球是由特殊材料制成的。当k (k≥2)个球排成一行时,所有这些k个球将消失。
对于每个i(1≤i≤N),求插入第i个球后的球数。
很明显的pair。
可以用一个STL里的stack来存num(只能访问 stack 顶部的元素;只有在移除 stack 顶部的元素后,才能访问下方的元素)
stack要是pair类型的再不断的push和pop,每一次记一次cnt
代码
#include<bits/stdc++.h>
using namespace std;
#define pii pair<int,int>
#define f first
#define s second
stack<pii> num;
int main(){ios::sync_with_stdio(0), cin.tie(0);int n, cnt = 0, x;cin >> n;num.push({0, 0});for(int i = 0; i < n; i++){cin >> x;cnt++;pii u = num.top();if(u.f == x){if(u.s + 1 == x){cnt -= x;num.pop();}else{num.pop();num.push({u.f, u.s + 1});}}else num.push({x, 1});cout << cnt << '\n';}
}
拜拜,给个赞再走呗
AtCoder Beginner Contest 240 D相关推荐
- AtCoder Beginner Contest 202 D - aab aba baa(组合计数,字典序)
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Problem 有 AAA 和 aaa,BBB 个 bbb ,可以使用这 A+BA+BA+B 个字符任 ...
- AtCoder Beginner Contest 197 题解(A ~ F)
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 A - Rotate B - Visibility C - ORXOR D - Opposite ...
- AtCoder Beginner Contest 198 (A ~ F)题解
目录 A. Div B. Palindrome with leading zeros C. Compass Walking D. Send More Money E. Unique Color F. ...
- AtCoder Beginner Contest 215 G - Colorful Candies 2
AtCoder Beginner Contest 215 G - Colorful Candies 2 有n个糖果,每个糖果有着一个颜色a[i],每次拿k个糖果期望拿到E(x)个不同颜色的糖果,求出k ...
- AtCoder Beginner Contest 215 F - Dist Max 2
AtCoder Beginner Contest 215 F - Dist Max 2 平面上有一系列的点(xi,yi)(x_i,y_i)(xi,yi),定义两点(xi,yi),(xj,yj)(x ...
- AtCoder Beginner Contest 215 E - Chain Contestant
AtCoder Beginner Contest 215 E - Chain Contestant 给出一个只包括A~J的字符串,定义一种子序列为:在这个子序列中,相同的字符必定连续出现,求出这样的子 ...
- AtCoder Beginner Contest 204 F Hanjo 2
AtCoder Beginner Contest 204 F Hanjo 2 H宽,W长的二维平面上,用1 * 1或者2 * 1的地砖来铺,要求铺满,求出方案数. 数据范围H <= 6, W & ...
- Caddi Programming Contest 2021(AtCoder Beginner Contest 193) 题解
Caddi Programming Contest 2021(AtCoder Beginner Contest 193) A - Discount 打折浮点数除即可 B - Play Snuke 枚举 ...
- Mynavi Programming Contest 2021(AtCoder Beginner Contest 201)题解
文章目录 A - Tiny Arithmetic Sequence B - Do you know the second highest mountain? C - Secret Number D - ...
- KYOCERA Programming Contest 2021(AtCoder Beginner Contest 200)题解
文章目录 A - Century B - 200th ABC-200 C - Ringo's Favorite Numbers 2 D - Happy Birthday! 2 E - Patisser ...
最新文章
- 上海启动5G试用!104页PPT,为你深度解析5G终端的创新和机遇
- 你不知道的127.0.0.1和0.0.0.0地址的区别
- 数据库实例:用户注册
- php里的stdclass,PHP中的stdClass是什么?
- mysql主主同步稳定吗_MySQL主主同步
- C#——orm-FulentData(sqlite3)——异常捕获
- 【重磅】这家技术贼牛的开源公司开始狂招人啦!
- oracle临时表空间占用率过高,ORACLE临时表空间太大,如何处理?
- 【技术贴】解决vss中提交pdf下载打开空白乱码
- 微信授权就是这个原理,Spring Cloud OAuth2 授权码模式
- Python中字母大小写转换
- Excel 2010 VBA 入门 108 个人所得税计算函数
- 2021-09-10ESSM, CVR预估到底要预估什么
- 自媒体剪辑视频都在用的6个音效素材网站。
- [Unity3D] Unity3D连接安卓设备调试unity程序
- 大数相减(解析国密sm2_bn_sub算法与自定义算法)
- [linux] mv: cannot move $ to $: Directory not empty
- Linux常用命令——ps命令
- 宝塔安装包下载linux版本,宝塔linux面板下载
- 飞凌嵌入式i.MX8MM在智慧医疗麻醉系统中的应用方案解析
热门文章
- Java读取证书报错:java.io.IOException: Unknown named curve: 1.2.156.10197.1.301
- STM32CubeIDE 入门
- excel怎么将文本转为数值
- JAVA 仿XP画图板的总结
- 计算机毕业论文提纲如何写,计算机毕业论文提纲怎么写
- julia 编程语言_Julia(Julia)编程语言入门
- 介绍一下什么是静态独享代理ip。
- Logistic 回归的决策边界
- 企业私有云存储选NAS还是私有云盘?3分钟带你了解企业NAS和企业云盘的区别
- Android Bluetooth源码结构