这道题其实挺简单的,不知道为什么设置成中等难度
//贪心规则:每次选最高的奶牛就是了 #include<bits/stdc++.h> using namespace std; int N,B; long A[20005]; int i; long sum; int cnt;//用于计数 int main() { scanf("%d %d",&N,&B); getchar(); for(i = 1; i <= N; i++) { scanf("%d",&A[i]); } sort(A+1,A+1+N); //默认升序排序 for(i = N; i >= 1; i--) //从最高的奶牛开始选取 { sum += A[i]; cnt++; if(sum >= B) //符合题意就退出循环,不用再加了 { break; } } cout << cnt; }
0.0分
1 人评分
字符串输入输出函数 (C++代码)(都当成字符串吧hhhhhhhh)浏览:493 |
C二级辅导-计负均正 (C语言代码)浏览:647 |
C语言考试练习题_一元二次方程 (C语言代码)浏览:735 |
C语言训练-排序问题<1> (C++代码)浏览:593 |
C语言训练-自由落体问题 (C语言代码)浏览:1736 |
数组输出 (C语言代码)错误???浏览:563 |
输出正反三角形 (C语言代码)浏览:784 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:763 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:677 |
printf基础练习2 (C语言代码)浏览:644 |