贤鱼的刷题日常-【c++】P7909 [CSP-J 2021] 分糖果
道題就是一道大水題,幾行代碼就結(jié)束了^^
- 題目題目背景
- 代碼
題目題目背景
紅太陽幼兒園的小朋友們開始分糖果啦!
題目描述
紅太陽幼兒園有 n 個小朋友,你是其中之一。保證 n≥2。
有一天你在幼兒園的后花園里發(fā)現(xiàn)無窮多顆糖果,你打算拿一些糖果回去分給幼兒園的小朋友們。
由于你只是個平平無奇的幼兒園小朋友,所以你的體力有限,至多只能拿 R 塊糖回去。
但是拿的太少不夠分的,所以你至少要拿 LL 塊糖回去。保證 n≤L≤R。
也就是說,如果你拿了 k 塊糖,那么你需要保證 L≤k≤R。
如果你拿了 k 塊糖,你將把這k 塊糖放到籃子里,并要求大家按照如下方案分糖果:只要籃子里有不少于 n 塊糖果,幼兒園的所有 n 個小朋友(包括你自己)都從籃子中拿走恰好一塊糖,直到籃子里的糖數(shù)量少于 n 塊。此時籃子里剩余的糖果均歸你所有——這些糖果是作為你搬糖果的獎勵。
作為幼兒園高質(zhì)量小朋友,你希望讓作為你搬糖果的獎勵的糖果數(shù)量(而不是你最后獲得的總糖果數(shù)量!)盡可能多;因此你需要寫一個程序,依次輸入 n,L,R,并輸出你最多能獲得多少作為你搬糖果的獎勵的糖果數(shù)量。
輸入格式
輸入一行,包含三個正整數(shù) n,L,R,分別表示小朋友的個數(shù)、糖果數(shù)量的下界和上界。
輸出格式
輸出一行一個整數(shù),表示你最多能獲得的作為你搬糖果的獎勵的糖果數(shù)量。
輸入輸出樣例
輸入 #1復(fù)制
7 16 23
輸出 #1復(fù)制
6
輸入 #2復(fù)制
10 14 18
輸出 #2復(fù)制
8
輸入 #3復(fù)制
見附件中的 candy/candy3.in。
輸出 #3復(fù)制
見附件中的 candy/candy3.ans。
說明/提示
【樣例解釋 #1】
拿 k = 20 塊糖放入籃子里。
籃子里現(xiàn)在糖果數(shù) 20≥n=7,因此所有小朋友獲得一塊糖;
籃子里現(xiàn)在糖果數(shù)變成 113≥n=7,因此所有小朋友獲得一塊糖;
籃子里現(xiàn)在糖果數(shù)變成 6<n=7,因此這 66 塊糖是作為你搬糖果的獎勵。
容易發(fā)現(xiàn),你獲得的作為你搬糖果的獎勵的糖果數(shù)量不可能超過 6 塊(不然,籃子里的糖果數(shù)量最后仍然不少于 n,需要繼續(xù)每個小朋友拿一塊),因此答案是 6。
【樣例解釋 #2】
容易發(fā)現(xiàn),當(dāng)你拿的糖數(shù)量 kk 滿足 14 = L \le k \le R = 1814=L≤k≤R=18 時,所有小朋友獲得一塊糖后,剩下的 k - 10k?10 塊糖總是作為你搬糖果的獎勵的糖果數(shù)量,因此拿 k = 18k=18 塊是最優(yōu)解,答案是 88。
【數(shù)據(jù)范圍】
對于所有數(shù)據(jù),保證 2≤n≤L≤R≤10 ^9
代碼
這道題主要是判斷糖的最少數(shù)量和最多數(shù)量是否在一個區(qū)間內(nèi),比如十個人,那么糖果1-9,10-19就是不同的區(qū)間,如果不在一個區(qū)間內(nèi),那么人數(shù)減一就是答案,如果在一個區(qū)間內(nèi),r%n的值就是答案
AC代碼如下
點個贊關(guān)注一下唄?^^
總結(jié)
以上是生活随笔為你收集整理的贤鱼的刷题日常-【c++】P7909 [CSP-J 2021] 分糖果的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html入门教程博客,HTML基础教程
- 下一篇: python pygame实战1: 小球