7 24 人以群分

2021-10-07 13:24:25 字數 1160 閱讀 7256

社交網路中我們給每個人定義了乙個「活躍度」,現希望根據這個指標把人群分為兩大類,即外向型(outgoing,即活躍度高的)和內向型(introverted,即活躍度低的)。要求兩類人群的規模盡可能接近,而他們的總活躍度差距盡可能拉開。

輸入第一行給出乙個正整數n(2≤n≤10​5​​ )。隨後一行給出n個正整數,分別是每個人的活躍度,其間以空格分隔。題目保證這些數字以及它們的和都不會超過2

​31​​ 。

按下列格式輸出:

outgoing #: n1

introverted #: n2

diff = n3

其中n1是外向型人的個數;n2是內向型人的個數;n3是兩群人總活躍度之差的絕對值。

10238

1099

462333461

666555

outgoing #:

5introverted #:

5diff =

3611

13

11079

21869

3721

10029

1352613

5188

85

outgoing #:

7introverted #:

6diff =

9359

#include

using

namespace std;

int a[

100010];

intf

(int n)

intmain()

else

for(i=

0;i) s1+

=a[i]

;for

(i=q;i) s2+

=a[i]

; m=

abs(s1-s2)

; cout<<

"outgoing #: "

"introverted #: "

"diff = "

}

7 11 人以群分 25分

社交網路中我們給每個人定義了乙個 活躍度 現希望根據這個指標把人群分為兩大類,即外向型 outgoing,即活躍度高的 和內向型 introverted,即活躍度低的 要求兩類人群的規模盡可能接近,而他們的總活躍度差距盡可能拉開。輸入格式 標題輸入第一行給出乙個正整數n 2 n 10e 5 隨後一行...

PAT 天梯賽 L2 017 人以群分 排序

題目鏈結 思路 第乙個條件是 人群的規模盡可能接近 那麼 n 為偶數的時候 就是 一半 一半 n 為奇數的時候 就是 乙個 一半 1 乙個 一半 1 第二個條件 就是 總活躍度差距盡可能大 那麼 n 為奇數的時候 外向型的人數 就是 一半 1 內向型的人數 就是 一半 1 ac include in...

PTA 天梯賽 L2 017 人以群分(排序)

反正肯定是要先排序的對吧,然後題目說了要兩撥人人數盡可能的接近,這句話就理解成偶數個人的時候兩群人人數相等,奇數個人的時候外向的人比內向的人人數多乙個,就ok了。include include include includeusing namespace std int x 1000010 int ...