首页 > 其他 > 详细

Subsequence

时间:2017-12-02 21:33:09      阅读:184      评论:0      收藏:0      [点我收藏+]

 

 

技术分享图片

 

技术分享图片
 1 #include <iostream>
 2 #include <cstring>
 3 #include <cmath>
 4 #include <cstdio>
 5 #include <algorithm>
 6 using namespace std;
 7 #define LL long long
 8 const int maxn = 100010;
 9 const int inf = 0x3f3f3f3f;
10 LL a[maxn], b[maxn];
11 int main(){
12     int t;
13     //freopen("in.txt", "r", stdin);
14     scanf("%d", &t);
15     while(t--){
16         int n, s;
17         scanf("%d %d", &n, &s);
18         b[0] = 0;
19         for(int i = 1; i <= n; i++) {
20             scanf("%lld", &a[i]);
21             b[i] = b[i - 1] + a[i];
22         }
23         int ans = inf;
24         for(int i = 1; i <= n; i++){
25             if(b[i] < s) continue;
26             int temp = b[i] - s;
27             int id = lower_bound(b + 1, b + 1 + n, temp) - b;
28             if(b[id] == temp) while(b[id + 1] == temp) id++;
29             else{
30                 id--;
31             }
32             //cout<<i<<"  ----------  "<<id<<" =++"<<endl;
33             ans = min(ans, i - id);
34         }
35         if(ans == inf) ans = 0;
36         printf("%d\n", ans);
37     }
38 }
View Code

 

Subsequence

原文:http://www.cnblogs.com/yijiull/p/7955655.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!