社区讨论

5,6,9,10 RE了,其他全过

P4447[AHOI2018初中组] 分组参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@lo9i632m
此快照首次捕获于
2023/10/28 11:48
2 年前
此快照最后确认于
2023/10/28 11:48
2 年前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
typedef  long long int ll;
ll  qaq[100005], sum1,n, cishu,a, b, ans, result, sum, x, i, j, flag;
struct nima
{
	ll a[4000], num=1;

}qwq[4000];//包含一个数组和这个数组有几个元素
bool cmp(struct nima aa, struct nima b)
{
	return aa.num < b.num;
}
int main()
{
	ll zushu = 0;
	cin >> n;
	for (i = 1; i <= n; i++)
		cin >> qaq[i];
	sort(qaq+1, qaq + n+1);
	for (i = 1; i <= n; i++)//用于检索
	{
		if (zushu == 0)
		{
			zushu++;
			qwq[zushu].a[qwq[zushu].num] = qaq[i];
			continue;
		}
		for (j = zushu; j >0; j--)//可能要立flag,重点在于从后往前插还是从前往后插
		{
			
			if (qwq[j].a[qwq[j].num] + 1 == qaq[i])//可以入队
			{
				qwq[j].a[qwq[j].num + 1] = qaq[i];
				qwq[j].num++;
				break;
			}
			if (j == 1)//找不到可以插入的地方
			{
				zushu++;//新建一个组插入
				qwq[zushu].a[1] = qaq[i];
				break;
			}
		}
	}
	sort(qwq+1,qwq+zushu+1,cmp);
	cout << qwq[1].num;
	return 0;
}
数组再开大就提示MLE了 求教为什么RE

回复

0 条回复,欢迎继续交流。

正在加载回复...