51Nod 1094 和为k的连续区间 | 水

Input示例

6 10
1
2
3
4
5
6

Output示例

1 4
#include "cstdio"
#include "algorithm"
#include "iostream"
#include "set"
using namespace std;
#define LL long long
#define N 10010
int arr[N];
int main()
{
    int k,n;
    while(~scanf("%d%d",&n,&k)){
        for(int i=0;i<n;i++){
            scanf("%d",&arr[i]);
        }
        LL sum=0;
        int a=1,b=1;
        bool c=0;
        for(int i=0;i<n;i++){
            sum=arr[i];a=i+1;
            for(int j=i+1;j<n;j++){
                if(sum==k)
                {
                    c=1;
                    break;
                }
                sum+=arr[j];b=j+1;
            }
            if(c)
                break;
        }
        if(!c)
            printf("No Solution\n");
        else
            printf("%d %d\n",a,b);
    }
    return 0;
}
时间: 2024-10-20 13:44:25

51Nod 1094 和为k的连续区间 | 水的相关文章

51Nod - 1094 和为k的连续区间

51Nod - 1094 和为k的连续区间 一整数数列a1, a2, ... , an(有正有负),以及另一个整数k,求一个区间[i, j],(1 <= i <= j <= n),使得a[i] + ... + a[j] = k. Input 第1行:2个数N,K.N为数列的长度.K为需要求的和.(2 <= N <= 10000,-10^9 <= K <= 10^9) 第2 - N + 1行:A[i](-10^9 <= A[i] <= 10^9). Ou

51nod 1094 和为k的连续区间【前缀和/区间差/map】

1094 和为k的连续区间 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题  收藏  关注 一整数数列a1, a2, ... , an(有正有负),以及另一个整数k,求一个区间[i, j],(1 <= i <= j <= n),使得a[i] + ... + a[j] = k. Input 第1行:2个数N,K.N为数列的长度.K为需要求的和.(2 <= N <= 10000,-10^9 <= K <= 10^9) 第2 - N 

51nod 1094 和为k的连续区间(暴力和map优化)

题目意思: http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1094 一整数数列a1, a2, ... , an(有正有负),以及另一个整数k,求一个区间[i, j],(1 <= i <= j <= n),使得a[i] + ... + a[j] = k. Input 第1行:2个数N,K.N为数列的长度.K为需要求的和.(2 <= N <= 10000,-10^9 <= K <= 10^9

1094 和为k的连续区间

1094 和为k的连续区间 一整数数列a1, a2, ... , an(有正有负),以及另一个整数k,求一个区间[i, j],(1 <= i <= j <= n),使得a[i] + ... + a[j] = k. Input 第1行:2个数N,K.N为数列的长度.K为需要求的和.(2 <= N <= 10000,-10^9 <= K <= 10^9) 第2 - N + 1行:A[i](-10^9 <= A[i] <= 10^9). Output 如果没

51nod 1268 和为K的组合

1268 和为K的组合 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 给出N个正整数组成的数组A,求能否从中选出若干个,使他们的和为K.如果可以,输出:"Yes",否则输出"No". Input 第1行:2个数N, K, N为数组的长度, K为需要判断的和(2 <= N <= 20,1 <= K <= 10^9) 第2 - N + 1行:每行1个数,对应数组的元素A[i] (1 <= A[i] &l

HDOJ 5122 K.Bro Sorting 水题

K.Bro Sorting Time Limit: 2000/2000 MS (Java/Others)    Memory Limit: 512000/512000 K (Java/Others) Total Submission(s): 71    Accepted Submission(s): 40 Problem Description Matt's friend K.Bro is an ACMer. Yesterday, K.Bro learnt an algorithm: Bubbl

和为k的连续区间 前缀和

一整数数列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. 输

[51nod1094]和为k的连续区间

法一:暴力$O({n^2})$看脸过 1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 int a[50002],sum[50002]; 5 int main(){ 6 int n,k; 7 cin>>n>>k; 8 for(int i=1;i<=n;i++){ cin>>a[i];sum[i]=sum[i-1]+a[i];} 9 bool flag=f

hdu 5122 K.Bro Sorting (水题)

Problem Description Matt’s friend K.Bro is an ACMer. Yesterday, K.Bro learnt an algorithm: Bubble sort. Bubble sort will compare each pair of adjacent items and swap them if they are in the wrong order. The process repeats until no swap is needed. To