{ "question_id": 696086, "question_title": "海港(port)", "question_content": "海港(port)\n【问题描述】\n小谢是海港的海关工作人员,每天都有许多船只到达海港,船上通常有很多来自不同国家的乘客。\n小谢对这些到达海港的船只非常感兴趣,他按照时间记录下了到达海港的每一艘船只情况;对于第i艘到达的船,他记录了这艘船只到达的时间ti(单位:秒),船上的乘客数量Ki,以及每名乘客的国籍x(i,1),x(i,2),···,x(i,k)。\n小谢统计了n艘船的信息,希望你帮忙计算出以每一艘船到达时间为止的24小时(24小时=86400秒)内所有乘船到达的乘客来自多少个不同的国家。\n形式化的讲,你需要计算n条信息。对于输出的第i条信息,你需要统计满足:ti-86400=1,∑ki<=3×105,1<=x(i,j)<=105,1<=ti-1\n#include\n#include\n#include\n#include\n#include\nusing namespace std;\nint a[100100];\nint people[500100];\nstruct node{\n int country;\n int time;\n};\nqueueq;\nint main(){\n int n,sum=0;\n scanf(\"%d\",&n);\n for(int i=1;i<=n;i++){\n int t,p;\n scanf(\"%d%d\",&t,&p);\n node temp;\n temp.time=t;\n for(int i=1;i<=p;i++){\n int cty;\n scanf(\"%d\",&cty);\n temp.country=cty;\n q.push(temp);\n if(!people[cty]) sum++;\n people[cty]++;\n }\n while(1){\n node old;\n old=q.front();\n if(temp.time-86400>=old.time)\n {\n int tc=old.country;\n people[tc]--;\n if(!people[tc]) sum--;\n q.pop();\n }\n else break; \n }\n cout<\n#include \n#include \n#include \n#include \n#include \nusing namespace std;\nint a[100100];\nint people[500100];\nstruct node{\n\tint country;\n\tint time;\n};\nqueueq;\nint main(){\n\tint n,sum=0;\n\tscanf(\"%d\",&n);\n\tfor(int i=1;i<=n;i++){\n\t\tint t,p;\n\t\tscanf(\"%d%d\",&t,&p);\n\t\tnode temp;\n\t\ttemp.time=t;\n\t\tfor(int i=1;i<=p;i++){\n\t\t\tint cty;\n\t\t\tscanf(\"%d\",&cty);\n\t\t\ttemp.country=cty;\n\t\t\tq.push(temp);\n\t\t\tif(!people[cty]) sum++;\n\t\t\tpeople[cty]++;\n\t\t}\n\t\twhile(1){\n\t\t\tnode old;\n\t\t\told=q.front();\n\t\t\tif(temp.time-86400>=old.time)\n\t\t\t{\n\t\t\t\tint tc=old.country;\n\t\t\t\tpeople[tc]--;\n\t\t\t\tif(!people[tc]) sum--;\n\t\t\t\tq.pop();\n\t\t\t}\n\t\t\telse break; \n\t\t}\n\t\tcout<