洛谷T 13776等値首尾和(add)
2033 ワード
タイトルの説明
黒板の上で左から右までn個の正の整数があって、まず左から右へ順次累積和を統計して、更に右から左へ順次累積和を統計して、このすべての累積和の中で何個が同じであるかを探し出します.例えば、左から右に7つの数があり、左から3、6、2、1、4、5、2の順で、左から右への累積和は、3、9、11、12、16、21、23である.右から左への累積和は、2,7,11,12,14,20,23である.3つの値は同じです.11、12、23です.注意:これらの同じ値は、位置の一致を必要としません.
にゅうしゅつりょくけいしき
入力フォーマット:第1の動作正整数n(≦100)、第2の動作nの正整数ai(≦200).出力フォーマット:同じ値の個数を表す整数.
入出力サンプル:
サンプル#1を入力:
出力サンプル#1:
問題:
黒板の上で左から右までn個の正の整数があって、まず左から右へ順次累積和を統計して、更に右から左へ順次累積和を統計して、このすべての累積和の中で何個が同じであるかを探し出します.例えば、左から右に7つの数があり、左から3、6、2、1、4、5、2の順で、左から右への累積和は、3、9、11、12、16、21、23である.右から左への累積和は、2,7,11,12,14,20,23である.3つの値は同じです.11、12、23です.注意:これらの同じ値は、位置の一致を必要としません.
にゅうしゅつりょくけいしき
入力フォーマット:第1の動作正整数n(≦100)、第2の動作nの正整数ai(≦200).出力フォーマット:同じ値の個数を表す整数.
入出力サンプル:
サンプル#1を入力:
7
3 6 2 1 4 5 2
出力サンプル#1:
3
問題:
#include
const int N=20005;
bool b[N];
int main(){
int n, a[110];
scanf("%d", &n);
for (int i=0; iscanf("%d", &a[i]);
int s=0, ans=0;
for (int i=0; i1;
}//
s=0;
for (int i=n-1; i>=0; i--){
s+=a[i];
if (b[s]) ans++;
}// ,
printf("%d
", ans);
return 0;
}