社区讨论

70分TLE

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

讨论操作

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

当前回复
2 条
当前快照
1 份
快照标识符
@m3x1q0zs
此快照首次捕获于
2024/11/25 21:10
去年
此快照最后确认于
2025/11/04 13:55
4 个月前
查看原帖
有没有可以优化的地方,时间复杂度太高啦!
CPP
#include <bits/stdc++.h>
using namespace std;
struct SHIP
{
	int t;
	int k;
	int s[1010];
}a[100010];
int hh,tt;
int n;
int main(){
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[tt].t>>a[tt].k;
		for(int j=1;j<=a[tt].k;j++) cin>>a[tt].s[j];
		tt++;
		while(a[tt-1].t-a[hh].t>=86400) hh++;
		int cnt=0;
		int js[300010]={0};
		for(int j=hh;j<tt;j++)
		{
			for(int x=1;x<=a[j].k;x++)
			{
				int y=a[j].s[x];
				js[y]++;
				if(js[y]==1) cnt++;
			}
		}
		cout<<cnt<<'\n';
	}
    return 0;
}

回复

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

正在加载回复...