題目鏈結
思路
第乙個條件是 人群的規模盡可能接近
那麼 n 為偶數的時候 就是 一半 一半
n 為奇數的時候 就是 乙個 一半 + 1 乙個 一半 - 1
第二個條件 就是 總活躍度差距盡可能大
那麼 n 為奇數的時候 外向型的人數 就是 一半 + 1
內向型的人數 就是 一半 - 1
ac**
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
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 half = 0;
sort(arr, arr + n);
if (n % 2 == 0)
else
}
PTA 天梯賽 L2 017 人以群分(排序)
反正肯定是要先排序的對吧,然後題目說了要兩撥人人數盡可能的接近,這句話就理解成偶數個人的時候兩群人人數相等,奇數個人的時候外向的人比內向的人人數多乙個,就ok了。include include include includeusing namespace std int x 1000010 int ...
7 24 人以群分
社交網路中我們給每個人定義了乙個 活躍度 現希望根據這個指標把人群分為兩大類,即外向型 outgoing,即活躍度高的 和內向型 introverted,即活躍度低的 要求兩類人群的規模盡可能接近,而他們的總活躍度差距盡可能拉開。輸入第一行給出乙個正整數n 2 n 10 5 隨後一行給出n個正整數,...
7 11 人以群分 25分
社交網路中我們給每個人定義了乙個 活躍度 現希望根據這個指標把人群分為兩大類,即外向型 outgoing,即活躍度高的 和內向型 introverted,即活躍度低的 要求兩類人群的規模盡可能接近,而他們的總活躍度差距盡可能拉開。輸入格式 標題輸入第一行給出乙個正整數n 2 n 10e 5 隨後一行...