洛谷 P1109 學生分組

2021-08-02 01:25:22 字數 639 閱讀 8375

題目描述

有n組學生,給出初始時每組中的學生個數,再給出每組學生人數的上界r和下界l(l<=r),每次你可以在某組中選出乙個學生把他安排到另外一組中,問最少要多少次才可以使n組學生的人數都在[l,r]中。

輸入輸出格式

輸入格式:

第一行乙個整數n,表示學生組數; n<=50

第二行n個整數,表示每組的學生個數;

第三行兩個整數 l,r,表示下界和上界

輸出格式:

乙個數,表示最少的交換次數,如果不能滿足題目條件輸出-1

輸入輸出樣例

輸入樣例#1:

2 10 20

10 15

輸出樣例#1:

首先,確認總和是不是在[l*n,r*n]之間,然後再取人數小於l的組到l所需的人數和人數大於r的組到r所需的人數的最大值即答案

#include

using namespace std;

int a[55],n,p,q,tot,l,r;

int main()

p=0;q=0;

for (int i=1;i<=n;i++)

printf("%d",p>q?p:q);

return

0;}

洛谷 P4447分組

大致想法是用乙個佇列記錄當前正在進行中分組的起始位置,並記錄當前分組數,若掃瞄到的下乙個數的個數少於當前分組數,則代表當前有一定數量的分組需要就此停止,按照開始順序依次出佇列即可 include include include include include include include incl...

洛谷P3940 分組

好題 細節題 答案字典序要求最小,所以考慮倒敘列舉,對於當前一組需要盡量多的加東西,因為後面組選的數越多,前面的選擇機會越多 化列舉序列為列舉值域,這是這道題的關鍵 k 1 倒敘列舉到 i 此時只需判斷當前組中的數是否有加 a i 等於完全平方數的 可以 o n 列舉,但顯然可以更優 列舉所有的完全...

洛谷P1094 紀念品分組

元旦快到了,校學生會讓樂樂負責新年晚會的紀念品發放工作。為使得參加晚會的同學所獲得 的紀念品價值相對均衡,他要把購來的紀念品根據 進行分組,但每組最多只能包括兩件紀念品,並且每組紀念品的 之和不能超過乙個給定的整數。為了保證在盡量短的時間內發完所有紀念品,樂樂希望分組的數目最少。你的任務是寫乙個程式...