1. 程式人生 > >New Year Snowmen CodeForces

New Year Snowmen CodeForces

#include<iostream> 
#include<cstdio>
#include<map>
#include<set>
#include<vector>
#include<algorithm>
using namespace std;
map<int,int>mapp;
typedef pair<int,int>pii;
set<pii>seet;
vector<int >vec;  
int main()
{
    int t,n;
    cin>>t;
    for
(int i=0;i<t;i++) { scanf("%d",&n); mapp[n]++; } map<int ,int>::iterator it=mapp.begin(); for(;it!=mapp.end();it++) seet.insert(pii(it->second,it->first)); while(seet.size()>=3) { pii ans[3]; for(int i=0;i<3;i++) { ans[i]=*--seet.end(); seet.erase(--seet.end()); vec.push_back(ans[i].second); } for
(int i=0;i<3;i++) if(--ans[i].first>0) seet.insert(ans[i]); sort(vec.rbegin(),vec.rbegin()+3); } cout<<vec.size()/3<<endl; for(int i=0; i<vec.size(); i+=3) printf("%d %d %d\n",vec[i],vec[i+1],vec[i+2]); return 0; }