我用题解的代码输入我报错的数据,结果和我的代码输出一样的结果,题解能AC,但我不能,奇怪
#include<iostream>
using namespace std;
#include<vector>
#include<algorithm>
void Swap(int* px, int* py)
{
int z = *px;
*px = *py;
*py = z;
}
int main()
{
int N = 0, i = 0, j = 0, a = 0;
vector<int>arr;
cin >> N;
for (i = 0; i < N; i++)
{
cin >> a;
arr.push_back(a);
}
for (i = 0; i < N - 1; i++)
{
for (j = 0; j < N - i - 1; j++)
{
if (arr[j] > arr[j + 1])
{
Swap(&arr[j], &arr[ j + 1 ]);
}
if (arr[j] == arr[j + 1])
{
arr.erase(arr.begin() + j);
N--;
}
}
}
cout << N << endl;
sort(arr.begin(), arr.end());
for (i = 0; i < N; i++)
{
cout << arr[i] << " ";
}
return 0;
}