子序列. 给你一个数组a,长度为n,找一个连续最短的序列,使得和大于等于S. 思路:一眼双指针.因为双指针通常可以解决一些连续区间最小/最大的问题.在这题,数组a的元素都是正数的,所以总是能让右指针向右增加先构造出一个合法的区间[L,R],再尝试把L指针向左移动,使得答案最优,直到区间和不再是S.
/*
*/
#include
using namespace std;
typedef long long ll;
const int maxn = 3e5+2;
const int INF = 1e9+7;
typedef pair pii;
int main(){
// freopen("1.txt","r",stdin);
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int n,S;
while(cin>>n>>S){
vector a(n+5,0);
for(int i=1;i>a[i];
}
int L=1,R=1;int ans = INF;
int sum=0;
while(L
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?