zoukankan      html  css  js  c++  java
  • PAT 天梯赛 L2-017. 人以群分 【排序】

    题目链接

    https://www.patest.cn/contests/gplt/L2-017

    思路

    第一个条件是 人群的规模尽可能接近
    那么 N 为偶数的时候 就是 一半 一半
    N 为奇数的时候 就是 一个 一半 + 1 一个 一半 - 1
    第二个条件 就是 总活跃度差距尽可能大
    那么 N 为奇数的时候 外向型的人数 就是 一半 + 1
    内向型的人数 就是 一半 - 1

    AC代码

    #include <cstdio>
    #include <cstring>
    #include <ctype.h>
    #include <cstdlib>
    #include <iostream>
    #include <algorithm>
    #include <cmath>
    #include <deque>
    #include <vector>
    #include <queue>
    #include <string>
    #include <map>
    #include <stack>
    #include <set>
    #include <numeric>
    #include <sstream>
    #include <iomanip>
    
    using namespace std;
    typedef long long LL;
    
    const double PI  = 3.14159265358979323846264338327;
    const double E   = 2.718281828459;
    const double eps = 1e-6;
    
    const int MAXN = 0x3f3f3f3f;
    const int MINN = 0xc0c0c0c0;
    const int maxn = 1e5 + 5;
    const int MOD  = 1e9 + 7;
    
    int arr[maxn];
    
    int main()
    {
        int n;
        cin >> n;
        int sum = 0;
        for (int i = 0; i < n; i++)
        {
            scanf("%d", &arr[i]);
            sum += arr[i];
        }
        int half = 0;
        sort(arr, arr + n);
        if (n % 2 == 0)
        {
            int m = n / 2;
            for (int i = 0; i < m; i++)
                half += arr[i];
            printf("Outgoing #: %d
    ", m);
            printf("Introverted #: %d
    ", m);
            printf("Diff = %d
    ", sum - (2 * half));
        }
        else
        {
            int m = n / 2;
            for (int i = 0; i < m; i++)
                half += arr[i];
            printf("Outgoing #: %d
    ", m + 1);
            printf("Introverted #: %d
    ", m);
            printf("Diff = %d
    ", sum - (2 * half));
        }
    }
  • 相关阅读:
    进阶新的阶段--LCD
    UART的调试
    s5pv210的定时器
    s5pv210的外部中断
    按键的轮询
    点亮指路灯
    队列里面的二级指针
    链表实现学生成绩管理系统
    链表基本功能
    new的用法
  • 原文地址:https://www.cnblogs.com/Dup4/p/9433261.html
Copyright © 2011-2022 走看看