标签:
Time Limit: 1000MS | Memory Limit: 65536K | |
Total Submissions: 12304 | Accepted: 5165 |
Description
Input
Output
Sample Input
2 10 15 5 1 3 5 10 7 4 9 2 8 5 11 1 2 3 4 5
Sample Output
2 3
Source
不断更新l,r值,当sum < s 时程序结束。
#include <iostream> #include <algorithm> #include <cstdio> #include <cstring> #include <cmath> using namespace std; const int maxn = 100010; typedef long long ll; int t,n,ss; int s[maxn]; int main() { scanf("%d",&t); while(t--){ scanf("%d%d",&n,&ss); for(int i =0;i<n;i++) scanf("%d",s+i); int l=0,r=0,sum=0,res=maxn; while(1){ while(r<n&&sum<ss){ sum+=s[r++]; } if(sum<ss) break; res=min(res,r-l); sum-=s[l++]; } if(res==maxn) printf("0\n"); else printf("%d\n",res); } }
标签:
原文地址:http://www.cnblogs.com/acmtime/p/5745840.html