uva1121 Subsequence(入门级)
2016-04-26 15:55
417 查看
给定一个长为N的序列和s,求一个最小的子串使得sum(子序列)>= s;
思路:Twopoint,r维护加入,l维护减除,r-l+1就是这个结果,还要判断下是否存在这样的串。
思路:Twopoint,r维护加入,l维护减除,r-l+1就是这个结果,还要判断下是否存在这样的串。
int a[100001]; int n, s; int main(int argc, const char * argv[]) { // freopen("in.txt","r",stdin); // freopen("out.txt","w",stdout); while(scanf("%d%d",&n,&s) == 2) { int sum = 0; int tail = 0; int len = INF; for (int i = 1;i <= n;++i) { scanf("%d", &a[i]); sum += a[i]; while(sum >= s && tail < i) { sum -= a[++tail]; len = min(len, i - tail + 1); } } if (len == INF) cout << 0 << endl; else cout << len << endl; } return 0; }
相关文章推荐
- UIView 动画
- create sequence 序列号
- COM中GUID和UUID、CLSID、IID
- jni(ndk) 兼容问题
- 网页开发中文本编辑器UEditor的使用
- 当UITextField有内容时,button才能被点击
- javax.jms.JMSException: Failed to build body from content. Serializable class not available to broke
- RequireJS 配置理解
- RequireJS 配置理解
- Android 4.4 Kitkat Phone工作流程浅析(二)__UI结构分析
- 使用duilib开发半透明异形窗体程序(补充)
- 使用guestmount挂载KVM虚拟机的磁盘
- 算法Sedgewick第四版-第1章基础-2.3 Quicksort-001快速排序
- UE3名称结构(Name)
- 出现An internal error occurred during: “Building workspace”.的解决方法
- android studio新建project的时候connect refused:connect或者卡在building project...或Refreshing
- iOS开发UI篇—UIWindow简单介绍
- RequireJS 加载 js 执行顺序
- 蓝牙技术BlueTooth
- Andrid Studio常用开发插件