操作序列(STL map)
链接: https://ac.nowcoder.com/acm/contest/4462/A 来源:牛客网 题目描述 给出一个长度无限的数列,初始全部为零,有三种操作: 增加操作:给下标为 t 的数加 c 。特别注意,如果在下标 [t−30,t+30] 内有不为零的数,增加操作无效。 削减操作:让数列中下标最小的不为零数变为零。 查询操作:查询数列中下标为 t 的数字是多少。 输入描述: 第一行包含一个整数 N,1≤N≤10 6 ,表示操作总数。 随后 N 行,每行由两个数字或一个数字组成。 若一行中有两个数字,分别代表增加操作的 t,c 。 若一行中只有数字-1,执行削减操作。 若一行中只有一个不为 -1的数字,则代表查询操作的数字 t。 保证t,c均为非负整数且在整形范围内。 输出描述: 削减操作时,先输出该数字,再变为零 若序列元素全为零,则削减操作无效,此时输出 "skipped" 查询时,输出该位置上的数 示例1 输入 7 140 1 120 2 100 3 120 100 -1 100 输出 0 3 3 0 示例2 输入 4 140 3 -1 140 1 -1 输出 3 1 示例3 输入 3 -1 -1 -1 输出 skipped skipped skipped 1 #include <bits/stdc++.h> 2 typedef long long LL; 3