TLE求助
查看原帖
TLE求助
551088
FincheuwYggdrasil楼主2022/10/1 21:28
#include<bits/stdc++.h>
using namespace std;
struct Arr{
	int Val,Pos;
};
vector<Arr> fruits; 
int n;
int main()
{
	scanf("%d",&n);
	Arr x;
	x.Val = -1;
	x.Pos = 0;
	fruits.push_back(x);
	for(int i = 1;i <= n;i++)
	{
		Arr x;
		scanf("%d",&x.Val);
		x.Pos = i;
		fruits.push_back(x);
	}//输入部分 
	while(fruits.size())
	{
		Arr x;
		x = fruits[1];
		int j = 1;//做一个记录:最左端的位置 
		for(int i = 1;i < fruits.size();i++)
		{
			if(x.Val ^ fruits[i].Val)
			{
				vector<Arr>::iterator it = fruits.begin() + j;
				printf("%d ",x.Pos);
				j = i;
				x = fruits[i];
				fruits.erase(it); 
			}//不同就输出,重新记录,删除 
			printf("\n");
		}
	}
 	return 0;
}

2022/10/1 21:28
加载中...