美团2018校招笔试

xiaoxiao2021-02-28  102

本题的主题思想是贪心算法。我们可以这样认为:将数量最大的一组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; }
转载请注明原文地址: https://www.6miu.com/read-58523.html

最新回复(0)