牛客寒假演算法基礎集訓營6 A出題

2021-09-10 15:22:43 字數 796 閱讀 2003

小b準備出模擬賽。

她把題目按難度分為四等,分值分別為6,7,8,9。

已知小b共出了m道題,共n分。

求小b最少出了多少道6分題。    

兩個正整數n,m
乙個數,表示答案。

若無解,輸出"jgzjgzjgz"。

示例1

複製

34 5
複製

1
示例2

複製

32 5
複製

3
示例3

複製

5 1
複製

jgzjgzjgz
n,m≤1012
這次比賽最坑的就是,最像暴力的題反而不是暴力,最像推公式的題反而暴力可過……(。

本來就是求乙個最小值->x的取值範圍,不知道為什麼我當時總往求解x上想……!真實zz

然後搬一下說的很明白的官方題解:

顯然,有解的充要條件為 6m≤n≤9m 。

若有解:

設有 x(0≤x≤m)道6分題,則剩下的m-x題共n-6x分,

則剩下的題有解的充要條件為 7(m−x)≤n−6x≤9(m−x) ,

解得 7m−n≤x≤(9m−n)/3。

因此答案為max(0,7m-n)。

ac**:

#include #define ll long long

using namespace std;

int main()

else

return 0;

}

2020牛客寒假演算法基礎集訓營6 A 配對

題目描述 現在有正整數集合 a 和 b,每個集合裡有 n 個數,你要建立他們間的一一對映 將每對配對的數字相加可以得到 n 個和,你要做的就是最大化第 k 大的和 1 k n 100,000 輸入的所有數字不超過 1e8 思路 貪心 為嘛我一開始沒想起來 第k大就是第 n k 1 小,讓比它小的盡可...

牛客寒假演算法基礎集訓營6

現在有正整數集合 a 和 b,每個集合裡有 n 個數,你要建立他們間的一一對映,將每對配對的數字相加可以得到 n 個和,你要做的就是最大化第 k 大的和。分別將前k大的數,乙個集合第i小的和另乙個集合第i大的,配對,得出k個數最後最小的那個數就是答案。小 q 新學會了一種魔法,可以對乙個 n行m列 ...

牛客寒假演算法基礎集訓營

首先看到這個題目資料範圍就可以知道這不是乙個可以暴力過的題。所以應該要推乙個結論。我們可以將這個同學的一來一回看成一組,那麼就可以理解為乙個來回中n可以減少n m 1 個人。那麼我們現在要讓所有人都進去,那就是看n m 1 的數量。但是有可能存在一些情況,就是說當你的倒數第二組中的回來的那趟使得n變...