rt,本人全哇(wa)(用了最朴素的过了样例。。。)
码:
#include<iostream>
#include<algorithm>
#include<cstring>
#define ll long long
using namespace std;
ll n,i,t,j;
struct node{
ll v,id;
};
node a[100005],b[100005];
bool cmp1(node x,node y){
return x.v<y.v;
}
bool cmp2(node x,node y){
return x.id<y.id;
}
int main()
{
cin>>t;
for(i=1;i<=t;i++){
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
cin>>n;
ll tmp=1;
for(j=1;j<=n;j++){
cin>>a[j].v;
a[j].id=j;
}
sort(a+1,a+n+1,cmp1);
for(j=1;j<=n;j++){
b[tmp].id=a[j].id,b[tmp++].v=a[j].v;
while(a[j+1].v==a[j].v)j++;
}
sort(b+1,b+tmp,cmp2);
for(j=1;j<tmp;j++)
cout<<b[j].v<<" ";
cout<<endl;
}
}