最优解题解
2023-09-30 11:14:27
发布于:四川
8阅读
0回复
0点赞
我也不知道我怎么搞出来的/kk
直接放代码吧。
#include <stdio.h>
inline int read(){char ch=getchar(); int f=1; while(ch<'0' || ch>'9') {ch=getchar();}int x=0; while(ch>='0' && ch<='9') x=(x<<3)+(x<<1)+ch-'0',ch=getchar(); return x*f;}
int w[100001],x[300002],y[300002];
int main(){
int n=read();
int s=0,r=0,i=0;
for (int _=0;_<n;++_){
int t=read(),k=read();
for (int i=0;i<k;++i){
y[++r]=t;
x[r]=read();
if (!w[x[r]]){
++s;
}
++w[x[r]];
}
while (t-y[i]>=86400){
if (!--w[x[i++]]){
--s;
}
}
printf("%d\n",s);
}
return 0;
}
这里空空如也
有帮助,赞一个