蒟蒻求助
查看原帖
蒟蒻求助
855663
0x0001cxr楼主2023/1/21 10:06

不会队列 用数组纯暴力模拟的,70pts,6个T,大佬看看还能改改吗?

#include<bits/stdc++.h>
using namespace std;


struct hulk
{
	int x;
	int time;
};

int t[100001];
int k[100001];
hulk o[300001];
bool a[100001] = {0};

int main()
{
	int n;
	cin >> n;
	int xia = 0;
	for(int i = 1;i <= n;i++)
	{
		cin >> t[i] >> k[i];
		for(int j = 1;j <= k[i];j++)
		{
			xia++;
			cin >> o[xia].x;
			o[xia].time = t[i];
		}
	}
	xia = 0;
	for(int i = 1;i <= n;i++)
	{
		xia += k[i];
		int ans = 0;
		int max = 0;
		int min = 100001;
		for(int j = xia;j >= 1;j--)
		{
			if(t[i] - o[j].time >= 86400)
			{
				break;
			}
			else if(t[i] - o[j].time < 86400)
			{
				a[o[j].x] = true;
				if(max < o[j].x)
				{
					max = o[j].x;
				}
				if(min > o[j].x)
				{
					min = o[j].x;
				}
			}
		}
		for(int p = max;p >= min;p--)
		{
			if(a[p] == true)
			{
				ans++;
				a[p] = false;
			}
		}
		cout << ans << endl;
	}
	return 0;
}
2023/1/21 10:06
加载中...