社区讨论

40求调

P2058[NOIP 2016 普及组] 海港参与者 1已保存回复 0

讨论操作

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

当前回复
0 条
当前快照
1 份
快照标识符
@mhjsdjca
此快照首次捕获于
2025/11/04 07:43
4 个月前
此快照最后确认于
2025/11/04 07:43
4 个月前
查看原帖
CPP
#include <bits/stdc++.h>
using namespace std;
int n , k[100005] , t[100005] , x , num[100005] , ans;
int q[100005] , hd = 1 , tl;
vector<int> v[100005];
int main()
{
	cin >> n;
	for(int i = 1 ; i <= n ; i ++ )
	{
		cin >> t[i] >> k[i];
		q[++tl] = i;
		for(int j = 1 ; j <= k[i] ; j ++ )
		{
			cin >> x; 
			v[i].push_back(x);
			++num[x];
			if(num[x] == 1)++ ans;
		}
		while(hd < tl && t[q[hd]] >= 86400)
		{
			for(int j = 1 ; j <= k[q[hd]] ; j ++ )
			{
				--num[j];
				if(!num[j]) -- ans;
			}
			++hd;
		}
		printf("%d\n" , ans);
	}
	return 0;
}
第二个样例不对

回复

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

正在加载回复...