题解:P10688 Buy Tickets

· · 题解

思路

按题意模拟即可。直接使用 vector,插入操作为 a.insert(a.begin()+x,y);,输出时遍历为 for(auto i:a)

注意:

1、不要忘了给 vector 赋初始大小。

2、每次使用之前要清空 vector

3、输出遍历时如果用 for(auto i:a),那么循环中输出 i 即可。

4、输出换行。

代码

#include<bits/stdc++.h> 
using namespace std;
int n;
vector<int>a(200010);
int main(){
    while(cin>>n){
        a.clear();
        while(n--){
            int x,y;
            cin>>x>>y;
            a.insert(a.begin()+x,y);
        }
        for(auto i:a){
            cout<<i<<" ";
        }
        cout<<endl;
    }
}