求助
查看原帖
求助
275523
kingdomm楼主2020/7/30 13:57
#include<bits/stdc++.h>
#define M 500001
using namespace std;
int times[M],ren[M];
int in[M];
int main()
{
	int n;
	int t,k;
	int h=0;
	scanf("%d",&n);
	int i,j,l;
	int mid=1;
	int ans=0;
	int maxx=-99;
	while(n--){
		scanf("%d%d",&t,&k);
		ans=0;
		while(k--){
			times[++h]=t;
			scanf("%d",&ren[h]);
			if(ren[h]>maxx)
			maxx=ren[h];
			in[ren[h]]++;
		}
		for(j=mid;j<=h-k;j++){
			mid=j;
			if(t-times[j]>=86400)
			in[ren[j]]--;
			else
			break;
		}
		for(j=1;j<=maxx;j++){
			if(in[j]>0)
			ans++;
		}
		cout<<ans<<endl;
	}
}

70分,有六个测试点TLE了,哪位大佬帮我看一下如何改进?

2020/7/30 13:57
加载中...