请注意题目中的边界问题:
“形式化地讲,你需要计算 n 条信息。对于输出的第 i 条信息,你需要统计满足 ti−86400<tp≤ti 的船只 p,在所有的 xp,j 中,总共有多少个不同的数。”
题目中用的是小于号,不包括左边界。即如果两船相隔的时间正好是 86400 秒,则后来的船不能算到前面的答案里去!!
如果你用的是队列,则应将出队的条件从
while(t[q.front()] < t[i]-86400)
改为:
while(t[q.front()] <= t[i]-86400)
此问题也可能是部分代码 RE/TLE 的原因之一。