先看题面
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相关推荐

  1. AtCoder Beginner Contest 202 D - aab aba baa(组合计数,字典序)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Problem 有 AAA 和 aaa,BBB 个 bbb ,可以使用这 A+BA+BA+B 个字符任 ...

  2. AtCoder Beginner Contest 197 题解(A ~ F)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 A - Rotate B - Visibility C - ORXOR D - Opposite ...

  3. AtCoder Beginner Contest 198 (A ~ F)题解

    目录 A. Div B. Palindrome with leading zeros C. Compass Walking D. Send More Money E. Unique Color F. ...

  4. AtCoder Beginner Contest 215 G - Colorful Candies 2

    AtCoder Beginner Contest 215 G - Colorful Candies 2 有n个糖果,每个糖果有着一个颜色a[i],每次拿k个糖果期望拿到E(x)个不同颜色的糖果,求出k ...

  5. 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 ...

  6. AtCoder Beginner Contest 215 E - Chain Contestant

    AtCoder Beginner Contest 215 E - Chain Contestant 给出一个只包括A~J的字符串,定义一种子序列为:在这个子序列中,相同的字符必定连续出现,求出这样的子 ...

  7. AtCoder Beginner Contest 204 F Hanjo 2

    AtCoder Beginner Contest 204 F Hanjo 2 H宽,W长的二维平面上,用1 * 1或者2 * 1的地砖来铺,要求铺满,求出方案数. 数据范围H <= 6, W & ...

  8. Caddi Programming Contest 2021(AtCoder Beginner Contest 193) 题解

    Caddi Programming Contest 2021(AtCoder Beginner Contest 193) A - Discount 打折浮点数除即可 B - Play Snuke 枚举 ...

  9. Mynavi Programming Contest 2021(AtCoder Beginner Contest 201)题解

    文章目录 A - Tiny Arithmetic Sequence B - Do you know the second highest mountain? C - Secret Number D - ...

  10. 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 ...

最新文章

  1. 上海启动5G试用!104页PPT,为你深度解析5G终端的创新和机遇
  2. 你不知道的127.0.0.1和0.0.0.0地址的区别
  3. 数据库实例:用户注册
  4. php里的stdclass,PHP中的stdClass是什么?
  5. mysql主主同步稳定吗_MySQL主主同步
  6. C#——orm-FulentData(sqlite3)——异常捕获
  7. 【重磅】这家技术贼牛的开源公司开始狂招人啦!
  8. oracle临时表空间占用率过高,ORACLE临时表空间太大,如何处理?
  9. 【技术贴】解决vss中提交pdf下载打开空白乱码
  10. 微信授权就是这个原理,Spring Cloud OAuth2 授权码模式
  11. Python中字母大小写转换
  12. Excel 2010 VBA 入门 108 个人所得税计算函数
  13. 2021-09-10ESSM, CVR预估到底要预估什么
  14. 自媒体剪辑视频都在用的6个音效素材网站。
  15. [Unity3D] Unity3D连接安卓设备调试unity程序
  16. 大数相减(解析国密sm2_bn_sub算法与自定义算法)
  17. [linux] mv: cannot move $ to $: Directory not empty
  18. Linux常用命令——ps命令
  19. 宝塔安装包下载linux版本,宝塔linux面板下载
  20. 飞凌嵌入式i.MX8MM在智慧医疗麻醉系统中的应用方案解析

热门文章

  1. Java读取证书报错:java.io.IOException: Unknown named curve: 1.2.156.10197.1.301
  2. STM32CubeIDE 入门
  3. excel怎么将文本转为数值
  4. JAVA 仿XP画图板的总结
  5. 计算机毕业论文提纲如何写,计算机毕业论文提纲怎么写
  6. julia 编程语言_Julia(Julia)编程语言入门
  7. 介绍一下什么是静态独享代理ip。
  8. Logistic 回归的决策边界
  9. 企业私有云存储选NAS还是私有云盘?3分钟带你了解企业NAS和企业云盘的区别
  10. Android Bluetooth源码结构