NYOJ 590 相同的和

来源:互联网 发布:kali linux dhcp 编辑:程序博客网 时间:2024/05/01 01:59

相同的和

时间限制:1000 ms  |  内存限制:65535 KB
难度:1
描述

给出一些数a1,a2,a3,a4.....,an,如果一个连续的字串的和等于常数m,那么这个子串就是我们想要的,那么问题很简单,请求出这样字串的个数?

例如:数列为:3,4,1,6,2,5。m 的值为7时,连续字串{3,4},{1,6},{2,5}满足要求。

输入
每种情况,第一行2个数n,m,n表示有多少个数,m是常数
第二行是n个数的值 (所有的数小于1000)
输出
每种情况个数
样例输入
6 73 4 1 6 2 53 12 3 4
样例输出
30

 

思路:贪心策略。。。

  #include <stdio.h>int main(){int m,n;while (scanf("%d %d",&n,&m) != EOF){int i,j,k;int a[1001];int total = 0;for (i=0; i<n; i++){scanf("%d",&a[i]);}for (i=0; i<n;i++){j = i;k = m;while (k>0){k -=a[j];j++;}if (k == 0){total ++;}}printf("%d\n",total);}return 0;}


 

0 0