5分求助!第二个AC其他都不
查看原帖
5分求助!第二个AC其他都不
522195
duliN20楼主2021/9/4 20:34

没有用题解里各位大佬的堆排和快排

自己异想天开出来一个但是出大问题

代码:

#include <bits/stdc++.h>
using namespace std;

int main() {

	int n, b, count = 0;
	cin >> n >> b;
	int s[n] = {};
	for (int i = 0; i < n; i++) {
		cin >> s[i];
	}									//以上皆为输入,s数组代表每头牛子的长度
	int sam = 0;						//初始化sam,这里用sam和b比较,如果sam大于等于b就停并输出
	while (sam <= b) {
		int max = 1;					//max初始值
		for (int i = 0; i < n; i++) {	//这个循环会记录一个max值,并遍历数组,如果发现有比max大的数组值就设置新max,直到发现数组中最大的值
			if (s[i] >= max) {
				max = s[i];
				s[i] = 0;
				//count++;
			}
		}
		//cout << max << endl;
		sam = sam + max;				//max值加上sam,用于和b比较
		count++;						//增加小母牛头数
	}									//整体思维非常简单,我觉得应该没什么问题,TLE我能理解但是第一个点WA第二个AC剩下的不是TLE就是WA,离谱
	cout << count;

	return 0;
}
2021/9/4 20:34
加载中...