//这一题先将绳的最大承受力从大到小排序,然后再逐个逐个判断找出最大的重量就可以!
//分析一下题目就很容易理解题目所要求的意思了,就开始我以为要用动态规划来完成的!仔细分析之后才知道原来很简单的一题!
#include "iostream"
#include "vector"
#include "algorithm"
using namespace std;
bool mycomp(int a, int b)
{
return a >= b;
}
int main()
{
int TestCase;
cin >> TestCase;
while (TestCase--)
{
vector<int> v;
v.clear();
int num, temp, max = 0;
cin >> num;
for (int i = 0; i < num; i++)
{
cin >> temp;
v.push_back(temp);
}
sort(v.begin(), v.end(), mycomp);//对绳的最大承受力排序!
for (int i = 0; i < num; i++)
{
if (v[i] * (i+1) > max)//找出最大的重量!
max = v[i] * (i+1);
}
cout << max << endl;
}
}
zoj 2488 Rotten Ropes
最新推荐文章于 2021-02-17 13:26:15 发布