首页 > 其他 > 详细

Zero-Sum Ranges

时间:2019-03-23 14:12:45      阅读:145      评论:0      收藏:0      [点我收藏+]

6771: Zero-Sum Ranges

时间限制: 1 Sec  内存限制: 128 MB
提交: 155  解决: 51
[提交] [状态] [命题人:admin]

题目描述

We have an integer sequence A, whose length is N.
Find the number of the non-empty contiguous subsequences of A whose sums are 0. Note that we are counting the ways to take out subsequences. That is, even if the contents of some two subsequences are the same, they are counted individually if they are taken from different positions.

Constraints
1≤N≤2×105
−109≤Ai≤109
All values in input are integers.

 

输入

Input is given from Standard Input in the following format:
N
A1 A2 … AN

 

输出

Find the number of the non-empty contiguous subsequences of A whose sum is 0.

 

样例输入

6
1 3 -4 2 2 -2

样例输出

3

 

提示

There are three contiguous subsequences whose sums are 0: (1,3,−4), (−4,2,2) and (2,−2).

#include <bits/stdc++.h>

using namespace std;
typedef long long ll;
const int maxn=2e5+6;
int n;
ll d[maxn],ans;
map<ll,int>p;
int main()
{
    cin>>n;
    p[0]++;
    for(int i=1;i<=n;i++)cin>>d[i];
    for(int i=1;i<=n;i++){
        d[i]=d[i]+d[i-1];
        ans+=p[d[i]];
        p[d[i]]++;
    }
    cout<<ans<<endl;
    return 0;
}

 

Zero-Sum Ranges

原文:https://www.cnblogs.com/czy-power/p/10583625.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!