码迷,mamicode.com
首页 > 编程语言 > 详细

CF978A Remove Duplicates【数组操作/STL】

时间:2018-06-02 00:40:53      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:run   names   ons   www.   cat   duplicate   org   clu   数组操作   

【链接】:CF978A
【分析】:逆向思考+标记数组去重
【代码】:

#include<bits/stdc++.h>
using namespace std;
const int  INF =  0x3f3f3f3f;
#define ms(a,b) memset(a,b,sizeof(a))
#define rep(i,a,b) for(int i=(a); i<(b); i++)
//#define run(i,a,b) for(int i=(a); i<=(b); i++)
const int N = 1e5+5;
#define ll long long
int n;

int v[N];
int b[N];
int a[N];
set<int> st;
vector<int> vt;
int main()
{
    cin>>n;
    rep(i,0,n)
    {
        cin>>a[i];
        st.insert(a[i]);
    }
    cout<<st.size()<<endl;
    for(int i=n-1;i>=0;i--)
    {
        if(v[a[i]]==0)
        {
            vt.push_back(a[i]);
        }
        v[a[i]]=1;
    }
    for(int i=st.size()-1;i>=0;i--)
    {
        printf("%d ",vt[i]);
    }
}

CF978A Remove Duplicates【数组操作/STL】

标签:run   names   ons   www.   cat   duplicate   org   clu   数组操作   

原文地址:https://www.cnblogs.com/Roni-i/p/9123953.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!