HDU-2017 多校训练赛9-1008-Numbers

来源:互联网 发布:js for in return 编辑:程序博客网 时间:2024/06/05 04:52

ACM模版

描述

描述

题解

数据结构用 map,在此基础上进行贪心策略就好了。不难,和前几天的多校的有一道题好像挺相似的。

代码

#include <iostream>#include <map>using namespace std;map<int, int> mii;const int MAXN = 1111;int m;int a[MAXN];int main(int argc, const char * argv[]){    while (~scanf("%d", &m))    {        mii.clear();        int x;        for (int i = 0; i < m; i++)        {            scanf("%d", &x);            mii[x]++;        }        int cnt = 0;        for (auto i : mii)        {            while (i.second > 0)            {                for (int j = 0; j < cnt; j++)                {                    mii[i.first + a[j]]--;                }                i.second--;                a[cnt++] = i.first;            }        }        printf("%d\n", cnt);        for (int i = 0; i < cnt; i++)        {            printf("%d%c", a[i], i == cnt - 1 ? '\n' : ' ');        }    }    return 0;}
原创粉丝点击