讨论 / 优先队列大法
linzixi 2015-11-14 07:29:28
点我顶贴 收藏 删除
#include <iostream>

#include <cstring>

#include <cmath>

#include <algorithm>

#include <cstdio>

#include <queue>

#include <set>

using namespace std;

#define turn return 0;

#define maxlongint 2147483647;

#define maxint 32767;

#define F0 for(i=0;i<n;i++)

#define F1 for(i=1;i<=n;i++)

typedef long long ll;

priority_queue<int,vector<int>,greater<int> >q;

set<int>s;

int n,x,i,sum=0;

int main()

{

s.clear();

cin>>n;

F1

{

cin>>x;

if(!s.count(x))

{

s.insert(x);

q.push(x);

sum++;

}

}

cout<<sum<<endl;

while(!q.empty())

{

cout<<q.top()<<' ';

q.pop();

}

turn;

}

查看更多回复
提交回复