poj3061 尺取法 挑战程序设计竞赛
生活随笔
收集整理的這篇文章主要介紹了
poj3061 尺取法 挑战程序设计竞赛
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
2018-1-6
直接使用尺取法求解即可,需要注意的是:如果說所有數(shù)的和都不能滿足條件的話,那么就直接輸出0即可。
尺取法的頭部每次增加1,尾巴每次增加到滿足條件即可。
#include<iostream> #include<cstdio> using namespace std;const int N = 100000; int x[N+1]; int t,n,s;void res(){int now=x[1],j=2,mn=N;for (int i=1;i<=n;i++){now-=x[i-1];while (now<s&&j<=n){now+=x[j++];}if (now<s) break;mn=min(mn,j-i);}cout<<mn<<endl; }int main(){while (cin>>t){while (t--){int ss=0;cin>>n>>s;for (int i=1;i<=n;i++){scanf ("%d",&x[i]);ss+=x[i];}if (ss<s){cout<<0<<endl;}else{res();}}}return 0; }總結(jié)
以上是生活随笔為你收集整理的poj3061 尺取法 挑战程序设计竞赛的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 剑指Offer(书):链表的倒数第K个节
- 下一篇: 以KNN为例用sklearn进行数据分析