解题思路
核心思路是按定义模拟:对每个查询位置 i 构造候选下标集合 Ci,计算点积分数,丢掉非正分数后取 Top-T,再用分数对 V 做加权和。
i 属于全局集合 P 时,Ci 是整个 [0,L);i 不是全局位时,Ci 等于局部窗口 [i−W,i+W](越界截断)再并上 P。窗口与 P 可能重叠,必须去重,否则同一 j 会被加两次。
分数 score(i,j)=Q[i]⋅K[j]。只保留 score>0 的位置(0 和负数都丢掉)。排序键是 (−score,j):分数大者优先,分数相同取更小下标。取前 T 个得到 Ai。Ai 为空则该行输出全 0,否则