咱就是说,这段Vector的代码出了点小问题
【问题描述】
今有N个数组,初始时,N个数组均为空。共有M次操作,每次在第X个数组中加入数字Y。问最终各数组中有多少数,并将它们排序输出。
【输入要求】
第一行两个整数N、M(N≤100000,M≤300000)。
接下来M行,每行两个整数X、Y,含义见试题描述。(1≤X≤N,Y≤10^9)
【输出要求】
共N行,第i行第一个数SUM,表示第i个数组数的个数,后SUM个数,为排序后的数组。
【样例输入】
3 5
1 3
1 2
1 1
2 1
3 1
【样例输出】
3 1 2 3
1 1
1 1
下面是我的代码
#include <bits/stdc++.h>
using namespace std;
int main(){
vector <vector<int>> a;
int n,m;
cin>>n>>m;
int x,y;
for(int i=0;i<m;i++){
cin>>x>>y;
a[x-1].push_back(y);
}
for(int i=0;i<n;i++){
sort(a[i].begin(),a[i].end());
cout<<a[i].size()<<" ";
for(unsigned j=0;j<a[i].size();j++) cout<<a[i][j]<<" ";
cout<<endl;
}
return 0;
}
好心人,帮忙康一下8