日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

学生分组(洛谷P1109题题解,C++语言描述)

發布時間:2025/3/15 c/c++ 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 学生分组(洛谷P1109题题解,C++语言描述) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目要求

題目鏈接

分析

用貪心思想求解,不證。

首先,如果總人數小于N×LN\times{L}N×L或大于N×RN\times{R}N×R肯定沒結果,應該特判輸出?1-1?1

我們要做的是,分別求出人數不足LLL的組的人數與LLL的差的絕對值、人數超過RRR的組的人數與RRR的差的絕對值。

隨后,二者取最大值即為所求!

AC代碼

#include <iostream> #include <cmath>using namespace std;int nums[50];int main() {int n, l, r, sum = 0, less = 0, more = 0;cin >> n;for (int i = 0; i < n; i++) {cin >> nums[i];sum += nums[i];}cin >> l >> r;if (sum > n*r || sum < n*l) {cout << -1;return 0;}for (int i = 0; i < n; i++) {if (nums[i] < l) {less += (l-nums[i]);} else if (nums[i] > r) {more += (nums[i]-r);}}cout << max(more, less);return 0; }

總結

以上是生活随笔為你收集整理的学生分组(洛谷P1109题题解,C++语言描述)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。