香槟塔
时间限制:1秒
空间限制:262144K
节日到啦,牛牛和妞妞邀请了好多客人来家里做客。
他们摆出了一座高高的香槟塔,牛牛负责听妞妞指挥,往香槟塔里倒香槟。
香槟塔有个很优雅的视觉效果就是如果这一层的香槟满了,就会从边缘处往下一层流去。
妞妞会发出两种指令,指令一是往第x层塔内倒体积为v的香槟,指令二是询问第k层塔香槟的体积为多少。
告诉你香槟塔每层香槟塔的初始容量,你能帮牛牛快速回答妞妞的询问吗?
输入描述:
第一行为两个整数n,m。表示香槟塔的总层数和指令条数。 第二行为n个整数ai,表示每层香槟塔的初始容量。
第三行到第2+m行有两种输入,一种输入是“2 x v”表示往第x层倒入体积为v的香槟;另一种输入是“1 k”表示询问第k层当前有多少香槟。
1 <= n, m <= 1000。
1 <= n ,m <= 200000,1 <= ai ,v <= 1000000000。
输出描述:
对于每个询问,输出一个整数,表示第k层香槟的容量。
输入例子1:
1 2 8 2 1 9 1 1
输出例子1:
8
输入例子2:
5 4 1 2 2 10 1 1 3 2 2 5 2 4 3 1 4
输出例子2:
0 4
#include <iOStream>
#include <vector>
using namespace std;
int main() {
int n,m;
cin>>n>>m;
int cap[n];
vector<int>temp(n,0);
for(int i=0;i<n;i++)
cin>>cap[i];
int order,x,v;
while(m--){
cin>>order;
if(order==1){
cin>>x;
cout<<temp[x-1]<<endl;
}
else{
cin>>x>>v;
while(v&&x<=n){
if(temp[x-1]+v<=cap[x-1]){
temp[x-1]+=v;
v=0;
}
else{
v=temp[x-1]+v-cap[x-1];
temp[x-1]=cap[x-1];
x++;
}
}
}
}
}
文章最后发布于: 2019-08-02 18:50:30
相关阅读
汉诺塔问题的来源及什么是汉诺塔问题 相传在古印度圣庙中,有一种被称为汉诺塔(Hanoi)的游戏。该游戏是在一块铜板装置上,有三根杆
游戏:杀戮尖塔(Slay the spire)mod--拉格朗·月
This is a mod for SlayTheSpire!这是一个杀戮尖塔的MOD!角色名称:拉格朗·月Now, I am developing.目前正在开发中。GitHub源码: ht
罗森塔尔效应指的是当你以积极的期望去对待一件事物时,这件事物本身也会朝着越来越积极的方向发展。本文就结合案例来看看,在哪些产
金字塔工具是产品人和营销人必备的思维工具之一,能够使你的思考、表达和思维都变得既有逻辑又有条理。什么是金字塔原理?如何使用金
首先肯定需要将域名解析到服务器 1.解压备份安装包 2.宝塔创建站点和数据库(数据库的密码必须一样 如果不同 到WP-Config文件修