自己综合了一些大佬的代码,做个笔记。
其实就是复习一下。。。
poj3061
转载
https://blog.csdn.net/doubleguy/article/details/81265327
// 尺取
#include <bits/stdc++.h>
using namespace std;
int main()
{
int ans, i, j, n, a[200], sum, max;
cin>>n>>max;
for(i=0;i<n;i++)
cin >> a[i];
i = j = sum = 0;
ans = n;
while(1)
{
while(j < n && sum < max) // 求a[i]到a[j]和sum,使其大于等于max
sum += a[j++]; // 毛毛虫伸腿
if(sum < max) // 如果sum<max(统计完成)退出
break;
ans = min(ans, j - i); // 求满足要求最小长度
sum -= a[i++]; // 毛毛虫收腿
}
cout << ans;
return 0;
}