题意:
输入 n m  之后输入n个数 
之后m个询问  对于每个询问 输入一个t    输出  三个数 ans l r  表示从l 到 r的所有数的和的绝对值最接近t 且输出这个和ans
 
思路:就是指针的移动。
 
AC代码:
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<limits.h>
using namespace std; pair<int,int>p[];
int n,m,t,num; void find(int x)
{
int i=,j=,ans=INT_MAX,temp,l,r,v;
while(j<=n && ans)
{
temp=p[j].first-p[i].first;
if(abs(temp-x)<=ans)
{
ans=abs(temp-x);
v=temp;
l=p[i].second;
r=p[j].second;
}
if(temp<x) j++;
if(temp>x) i++;
if(i==j) j++;
}
if(l>r)
{
int a=r;
r=l;
l=a;
}
printf("%d %d %d\n",v,l+,r);
} int main()
{
while(scanf("%d%d",&n,&m)== && (m+n))
{
int sum=;
p[]=make_pair(,);
for(int i=; i<=n; i++)
{
scanf("%d",&num);
sum+=num;
p[i]=make_pair(sum,i);
}
sort(p,p+n+);
while(m--)
{
scanf("%d",&t);
find(t);
}
}
return ;
}

最新文章

  1. EntityFramework 性能优化
  2. git/github学习笔记
  3. JAVA入门第二季 第一章 类和对象
  4. VB的判断语句和循环语句
  5. scikit-learn 机器学习工具包
  6. Velocity语法--转载
  7. 用fscanf()从文件取数据时,如何判断文件结束
  8. C++学习笔记之输入、输出和文件
  9. iOS开发——UI篇Swift篇&amp;UIActivityIndicatorView
  10. vi常用命令与设置(不断修改中)
  11. 关于sharepoint事件接收器中properties.AfterProperties[&quot;&quot;].Tostring()取值的问题。
  12. uboot源码解析
  13. DDD(领域驱动设计)理论结合实践
  14. [iOS Animation]-CALayer 图层树
  15. flask 分页
  16. respberry2b + android5.1
  17. Bootstrap 图片
  18. UI设计初学者教程:色彩基础知识
  19. R-CNN目标检测的selective search(SS算法)
  20. 使用像素单位设置 EXCEL 列宽或行高

热门文章

  1. nyoj_299_Matrix Power Series_矩阵快速幂
  2. 【动态规划】简单背包问题II
  3. BestCoder37 1001.Rikka with string 解题报告
  4. spring mvc配置完后实现下载功能
  5. EL表达式中fn函数 (转载)
  6. 【leetcode】Remove Element (easy)
  7. 安装Odoo9出现的could not execute command &quot;lessc&quot;问题
  8. 【XLL 框架库函数】 debugPrintf
  9. 数据结构和算法 &ndash; 3.堆栈和队列
  10. Delphi面向对象编程