基础问题:
题目描述
给定一个长度为n的整数序列。现在有m个操作,操作分为三类,格式如下:
① 1 i:询问序列中第i个元素的值,保证i小于等于当前序列长度;
② 2 i v:在序列中第i个元素前加入新的元素v,保证i小于等于当前序列长度;
③ 3 i:删除序列中的第i个元素,保证i小于等于当前序列长度。
输入格式
第一行输入n(1<=n<=1000),表示序列最初的长度。
第二行输入n个空格隔开的数表示原始的整数序列。
第三行输入m(1<=m<=1000),表示操作数。
第四到m+3行依次输入一个操作。
输出格式
对于操作①输出对应的答案,一行输出一个数。
输入输出样列
输入样例1:
5
6 31 23 14 5
5
1 2
2 2 7
1 2
3 3
1 3
输出样例1:
31
7
23
说明
1<=n<=1000, 1<=m<=1000,每个元素都是不超过1000000的正整数。
672
提交个数
418
通过个数
耗时限制
1000ms
内存限制
256MB
思路1:
vector简介:
vector是C++标准库提供的一个变长数组类型,它可以像数组一样进行数据的存储和访问,但是我们不需要指定vector的长度,vector会在需要的时候自动的扩展其自身的容量来容纳更多的数据。vector的内部存储结构和数组一样,使用的是一段连续的存储空间。
小贴士:使用vector需要有头文件:
#include <vector>