题目:1120 买地攻略 - PAT (Basic Level) Practice (中文) (pintia.cn)
我们先用第一个数去挨个加后面的所有数,再用第二个数去挨个加后面的所有数,依次类推,统计出和小于等于m的组合数个数。
#include<bits/stdc++.h>
using namespace std;
int a[10005];
int main()
{
int n,m;cin>>n>>m;
for (int i = 1; i <= n; i++) {
cin >> a[i];
}
int cnt=0;
for(int i=1;i<=n;i++)
{
int sum=0;
for(int j=i;j<=n;j++)
{
sum+=a[j];
if(sum<=m)
cnt++;
}
}
cout<<cnt;
return 0;
}