不考虑超时,4 5 6为啥过不了,求大佬指点用例
查看原帖
不考虑超时,4 5 6为啥过不了,求大佬指点用例
350419
Stephen777楼主2020/6/3 21:26

#include

#include <iostream>
#include<algorithm>
using namespace std;


int FindMinIndex(vector<int> nums){
	int minPosition = min_element(nums.begin(), nums.end()) - nums.begin();
	return minPosition;
}

int main()
{
	vector<int> d0;
	int L, M,N;
	cin >> L >> N >> M;
	for (int i = 0; i < N; i++)
	{
		int tmp;
		cin >> tmp;
		d0.push_back(tmp);
	}
	d0.push_back(L);
	vector<int> d1;
	int pred = 0;
	for (int i = 0; i <= N; i++)
	{
		d1.push_back(d0[i] - pred);
		pred = d0[i];
	}
	for (int i = 0; i < M; i++)
	{
		int j=FindMinIndex(d1);
		if (j == N - 1)
		{
			d1[j - 1] += d1[j];
			d1.erase(d1.begin() + j);
		}
		else if (j>0&&(d1[j - 1] < d1[j + 1]))
		{
			d1[j - 1] += d1[j];
			d1.erase(d1.begin()+j);
		}
		else
		{
			d1[j + 1] += d1[j];
			d1.erase(d1.begin() + j);
		}
	}
	cout << d1[FindMinIndex(d1)];

}
2020/6/3 21:26
加载中...