题干:

一整数数列a1, a2, ... , an(有正有负),以及另一个整数k,求一个区间i,ji,j,(1 <= i <= j <= n),使得aii + ... + ajj = k。

Input

第1行:2个数N,K。N为数列的长度。K为需要求的和。(2 <= N <= 10000,-10^9 <= K <= 10^9)
第2 - N + 1行:Aii(-10^9 <= Aii <= 10^9)。

Output

如果没有这样的序列输出No Solution。 
输出2个数i, j,分别是区间的起始和结束位置。如果存在多个,输出i最小的。如果i相等,输出j最小的。

Sample Input

6 10
1
2
3
4
5
6

Sample Output

1 4

解题报告:

不得不说,不是数据水,而是确实o(n^2)的做法可解。不过其实可以nlogn的,不解释了、、、

AC代码:

#include<iostream>
using namespace std;
long long a[10000 + 5];
long long sum[10000 + 5];
int main()
{long long n,k;scanf("%lld %lld",&n,&k);for(int i = 1; i<=n; i++) {scanf("%lld",&a[i]);sum[i]=sum[i-1]+a[i];}
//  for(int i = 0 ;i<n; i++) {
//      printf("%d ",sum[i]);
//  }for(int i = 1; i<=n; i++) {for(int j = i; j<=n; j++) {if(sum[j]-sum[i-1]==k) {printf("%lld %lld\n",i,j);return 0 ;}}}printf("No Solution\n");return 0 ;
} 

【51Nod - 1094】和为k的连续区间 (前缀和,二分查找)相关推荐

  1. 209 长度最小的子数组(前缀和+二分查找、滑动窗口)

    1. 问题描述: 给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组,并返回其长度.如果不存在符合条件的子数组,返回 0. 示例: 输入:s = ...

  2. LeetCode 528. 按权重随机选择(前缀和+二分查找)

    文章目录 1. 题目 2. 解题 1. 题目 给定一个正整数数组 w ,其中 w[i] 代表下标 i 的权重(下标从 0 开始),请写一个函数 pickIndex ,它可以随机地获取下标 i,选取下标 ...

  3. LeetCode 497. 非重叠矩形中的随机点(前缀和+二分查找)

    文章目录 1. 题目 2. 解题 1. 题目 给定一个非重叠轴对齐矩形的列表 rects,写一个函数 pick 随机均匀地选取矩形覆盖的空间中的整数点. 提示: 整数点是具有整数坐标的点. 矩形周边上 ...

  4. LeetCode 2302. 统计得分小于 K 的子数组数目(前缀和+二分查找)

    文章目录 1. 题目 2. 解题 1. 题目 一个数组的 分数 定义为数组之和 乘以 数组的长度. 比方说,[1, 2, 3, 4, 5] 的分数为 (1 + 2 + 3 + 4 + 5) * 5 = ...

  5. [Leedcode][JAVA][第209题][长度最小的子数组][滑动窗口][前缀和][二分查找][双指针]

    [问题描述][中等] 给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组,并返回其长度.如果不存在符合条件的连续子数组,返回 0.示例: 输入: ...

  6. LeetCode 2040. 两个有序数组的第 K 小乘积(嵌套二分查找)

    文章目录 1. 题目 2. 解题 1. 题目 给你两个 从小到大排好序 且下标从 0 开始的整数数组 nums1 和 nums2 以及一个整数 k ,请你返回第 k (从 1 开始编号)小的 nums ...

  7. LeetCode 1712. 将数组分成三个子数组的方案数(前缀和 + 二分查找)

    文章目录 1. 题目 2. 解题 221 / 3117,前7.1% 574 / 9692,前 5.9% 周赛前2题如下: LeetCode 5641. 卡车上的最大单元数(排序,模拟) LeetCod ...

  8. LeetCode 668. 乘法表中第k小的数(二分查找)

    文章目录 1. 题目 2. 解题 1. 题目 几乎每一个人都用 乘法表.但是你能在乘法表中快速找到第k小的数字吗? 给定高度m .宽度n 的一张 m * n的乘法表,以及正整数k,你需要返回表中第k ...

  9. LeetCode 378. 有序矩阵中第K小的元素(二分查找)

    文章目录 1. 题目 2. 解题 2.1 暴力法 2.2 二分查找 1. 题目 给定一个 n x n 矩阵,其中每行和每列元素均按升序排序,找到矩阵中第k小的元素. 请注意,它是排序后的第k小元素,而 ...

  10. LeetCode-378.有序矩阵中第k小的元素、二分查找

    给定一个 n x n 矩阵,其中每行和每列元素均按升序排序,找到矩阵中第 k 小的元素.请注意,它是排序后的第 k 小元素,而不是第 k 个不同的元素.示例:matrix = [ [ 1, 5, 9] ...

最新文章

  1. 运行hadoop自带的wordcount例子
  2. 239 Sliding Window Maximum 滑动窗口最大值
  3. 在Windows上启用LDAPs
  4. vue3.0中使用计算属性时报错
  5. paho.mqtt.embedded-c-master c语言版本架构
  6. 第四期 | 带学斯坦福CS224n自然语言处理课+带打全球Kaggle比赛(文末重金招募老师!)...
  7. linux 查找py文件命令_在 Linux 中如何从命令行查找 VirtualBox 版本
  8. NOIP模拟测试24「star way to hevaen·lost my music」
  9. 软件测试基础:MantisBT的安装配置及使用——BUG管理工具
  10. 力扣203,移除链表元素(JavaScript)
  11. 领克车机2.0安装 app 方法,亲测有效
  12. 华为交换机命令基础入门学习,菜鸟也能看得懂!
  13. 洞烛幽微系列 之 梯度 散度 旋度
  14. Word中删除空白页的4种方法
  15. RAR压缩包有密码怎么办
  16. 数据的结构分类:结构化数据,半结构化数据以及非结构化数据
  17. 单例模式 饿汉式与懒汉式
  18. swoole.so: undefined symbol: _zval_ptr_dtor
  19. html自定义图例,自定义 highcharts 图例之 symbol
  20. windows配置静态路由表

热门文章

  1. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第29篇]什么是UF-CMA数字签名的定义?
  2. 微信在计算机基础中的辅助作用,基于微信课后辅导在计算机基础教学中应用.doc...
  3. 客户端配置_交换机作为STelnet客户端登录其他设备配置示例
  4. 获取弹出的窗口_Win7系统如何获取设置everyone权限的问题
  5. linux桌面旋转了180度,[多图]回顾每一款默认Ubuntu壁纸
  6. ddns客户端_DDNS哪家最方便?试试看Mikrotik的ROS!
  7. ArcGIS改变数据集或要素类的的坐标系(投影)
  8. android ui状态栏高度,Android--状态栏高度,导航栏高度,Window高度,DecorView高度,heightPixels...
  9. 英伟达_如何超越英伟达?
  10. MFC 多文档源码分析1