解题思路
1.使用前缀和统计满足条件的选择个数,一组测试用例可能包含多组数据注意输入输出;
代码
#include <bits/stdc++.h>
using namespace std;
int main(){
int n, t, c;
while(cin >> n >> t >> c){ //一组测试用例可能包含多组数据
vector<long long> f(n); //前缀和 看数据范围
for(int i = 0; i < n; i++){
int val;
cin >> val;
if(i == 0){
f[0] = val;
}
else{
f[i] = f[i-1] + val;
}
}
int ans = 0;
if(f[c-1] <= t) ans++;
for(int i = 1; i <= n - c; i++){
if(f[i+c-1] - f[i-1] <= t) ans++;
}
cout << ans << endl;
}
return 0;
}
京公网安备 11010502036488号