【未完待续】
以下代码来自刘事鑫
,改得就有些过头。
#include<bits/stdc++.h>//头文件
using namespace std;//头文件
int n, a[21474836], ans, v, l = 1, k; //定义变量,数组
int main(){//主函数
cin >> n >> k;//输入
for(int i = 1; i <= n; i++){//for循环
cin >> a[i];//输入数组
}//大括号
//换行
for(int r = 1; r <= n; r++){ //l是总和的开头 ,r是总和的结尾
v += a[r];//加总和
while(v > k){ //如果总和大于预定的总和(K)
v -= a[l];//那么就减去总和尾部的数
l++;//由于减去了总和尾部的数,所以要将尾部加1
}//大括号
if(v == k) ans++;//如果数组总和与预定的总和相等,那么答案加1
}//大括号
//换行
cout << ans;//输出
return 0;//返回0指令
}//大括号