U168623 最佳子段和[BDFZ2021新春公开赛T2]
题目描述
长度为 $n$ 的序列 $a[1...n]$ 和 $q$ 个询问,每次询问给一个整数 $k$ ,请你找出一个非空连续子段$[l,r]$,使其**子段和$a[l]+...+a[r]$ 最接近 $k$** 。
形式上:找出最佳子段和 $sum(l,r) = a[l]+...+a[r]$,令 $abs(sum(l,r)-k)$ 最小,输出这个最小值。
输入格式
第$1$行$2$个整数$n,q$,代表有$q$组询问。
第$2$行$n$个整数$a[i]$。
第$3$行$q$个整数代表每组询问的$k$。
输出格式
输出$q$行, 每行1个整数代表1组询问的答案。
说明/提示
对于 $100\%$ 的数据,保证 $1\le n\le 10^5, 1\le q\le 200, 1\le a[i],k\le 10^9$。
| 测试点 | $n$ | $q$ |
| :----: | :--------: | ------- |
| $1-2$ | $\le10$ | $=1$ |
| $3-6$ | $\le2000$ | $