P2058,神奇的bug
查看原帖
P2058,神奇的bug
275748
Comintern楼主2021/5/9 13:04
#include<bits/stdc++.h>
using namespace std;
int nat[100001],per[100001];
struct b{
	int time,sum;
};b boat[100005];
int main(){
	int n,j=1,ans=0;cin>>n;
	memset(per,0,sizeof(per));
	int head=1,tail=n;
	for(int i=1;i<=n;i++){cout<<ans<<'\n';
		int j1=j;
		cin>>boat[i].time>>boat[i].sum;
		for(j=j1;j<=j1+boat[i].sum;j++){//cout<<ans<<'\n';
		    cin>>nat[j];per[nat[j]]++;/*cout<<per[nat[j]]<<' ';*/if(per[nat[j]]==1){
			ans++;}}boat[i].sum=j;/*cout<<ans<<'\n'*/
		while(boat[i].time-boat[head].time>=86000){
		    for(int k=boat[head-1].sum+1;k<=boat[head].sum;k++){
		    	per[nat[k]]--;if(per[nat[k]]==0)ans--;
			}head++;}
	    }
	
	return 0;
}

总是在第一次和最后一次输出时跳过...

2021/5/9 13:04
加载中...