前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >牛客练习赛19-F-托米搭积木

牛客练习赛19-F-托米搭积木

作者头像
用户2965768
发布2018-08-30 17:11:12
4090
发布2018-08-30 17:11:12
举报
文章被收录于专栏:wymwym

链接:https://www.nowcoder.com/acm/contest/111/F 来源:牛客网

托米搭积木

时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld

题目描述

小托米真的很可爱呀(>_<)

这天,可爱的小托米得到了n堆积木,且第i堆积木初始时有ai块积木.

小托米很快就喜欢上了玩积木. 他会作出三种操作: 1.把第v堆的积木数量更改为x. 2.在每堆积木的上面都加上y个积木. 3.数第q堆积木的积木个数. 由于这天可爱的小托米实在是太困了,所以他请你帮他完成这些操作.

输入描述:

代码语言:javascript
复制
第一行两个整数n,m.
第二行n个整数,第i个整数代表ai的值.
接下来m行,每行代表一个操作:
第一个整数t代表操作的类型
若t=1,则接下来两个整数v,x,代表操作1.
若t=2,则接下来一个整数y,代表操作2.
若t=3,则接下来一个整数q,代表操作3.

输出描述:

代码语言:javascript
复制
对于每个操作3,输出其对应的答案.

#include <bits/stdc++.h>

#define ll long long

using namespace std;

const int N=1e5+10;

ll a[N],b[N];

ll n,m;

ll sum=0;

int main()

{

memset(a,0,sizeof(0));

scanf("%lld %lld",&n,&m);

for(int i=1;i<=n;i++)

scanf("%lld",&a[i]);

while(m--)

{

int t;

scanf("%d",&t);

if(t==1)

{

int j,h;

scanf("%d %d",&j,&h);

a[j]=h-sum;

}

else if(t==2)

{

ll jia;

scanf("%lld",&jia);

sum+=jia;

}

else

if(t==3)

{

int q;

scanf("%d",&q);

printf("%lld\n",a[q]+sum);

}

}

return 0;

}

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年06月01日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目描述
  • 输入描述:
  • 输出描述:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档