PAT 1120 买地攻略

354 阅读1分钟

题目: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;
}