我的代码应该是85分,怎么AC了?
  • 板块灌水区
  • 楼主MichealDantes
  • 当前回复5
  • 已保存回复5
  • 发布时间2024/8/22 18:34
  • 上次更新2024/8/22 21:01:11
查看原帖
我的代码应该是85分,怎么AC了?
677089
MichealDantes楼主2024/8/22 18:34

我的方法时间复杂度为O(600n),应该只有85分,而且好像也不是正解,但是AC了?

#include<iostream>
using namespace std;
int a[100005] , cnt[605];
int main()
{
	int n , w; cin >> n >> w;
	for (int i = 1; i <= n; i++) cin >> a[i];
	int maxn = 0;
	for (int i = 1; i <= n; i++)
	{
		cnt[a[i]] ++;
		maxn = max(maxn , a[i]);
		int k = max(1 , i * w / 100) , sum = 0;
		for (int j = maxn; j >= 0; j--)
		{
			sum += cnt[j];
			if (sum < k) continue;
			cout << j << ' ';
			break;
		}
	}
	return 0;
}
2024/8/22 18:34
加载中...