美团2018校招笔试

        本题的主题思想是贪心算法。我们可以这样认为:将数量最大的一组A试卷放到桌子上,后续所有的组(B=sum(others))批改这些试卷。并将后续所有组(B)的卷子添加到桌子上。如果数量最大的组A的同学批改卷子时,批改到自己的卷子:说明卷子(A组的试卷)没有被B完全替换掉,进而说明B数量没有A的多。所以,有下列编码:
#include "stdafx.h"
#include <algorithm>
#include <list>
#include <numeric>
#include <iostream>
#include <vector>
#include <functional>
using namespace std;


int _tmain(int argc, _TCHAR* argv[])
{
	while (true)
	{
		int group_num,input;
		cin>>group_num;
		vector<int> group_stu;
		int store=0;
		int iterator_1;
		for (iterator_1 = 0; iterator_1 < group_num; iterator_1++)
		{
			cin>>input;
			group_stu.push_back(input);
		}
		sort(group_stu.begin(),group_stu.end(),greater<int>());
		store = accumulate(group_stu.begin(),group_stu.end(),0);
		if(*(group_stu.begin())<store/2)
			cout<<"Yes"<<endl;
		else
			cout<<"No"<<endl;
	}
	system("pause");
	return 0;
}

猜你喜欢

转载自blog.csdn.net/LiuPeiP_VIPL/article/details/77754921