NC221681. dd爱框框
描述
输入描述
第一行两个数,n(1≤n≤10000000),x(1≤x≤10000)
第二行n个数a[i](1≤a[i]≤1000)
输出描述
输出符合条件l,r(保证有解)
示例1
输入:
10 20 1 1 6 10 9 3 3 5 3 7
输出:
3 5
C++ 解法, 执行用时: 769ms, 内存消耗: 39544K, 提交时间: 2022-01-11 15:40:07
#include<stdio.h> int main() { int a,b,sum=0,z=0,y=0,q=99999,j=1; scanf("%d %d",&a,&b); int x[a+1]; for(int i=1;i<=a;i++){ scanf("%d",&x[i]); sum=sum+x[i]; while(sum>=b){ if(i-j<q) { q=i-j; z=j; y=i; } sum=sum-x[j++]; } } printf("%d %d",z,y); return 0; }
C 解法, 执行用时: 1297ms, 内存消耗: 39440K, 提交时间: 2021-05-28 23:57:44
#include<stdio.h> int main(){ int x,y,n=0,m=999999,i,j=1,z,z1; scanf("%d %d",&x,&y); int a[x]; for(i=1;i<=x;i++){ scanf("%d",&a[i]); n=n+a[i]; while(n>=y){ if(i-j<m){ m=i-j; z=j; z1=i; } n=n-a[j++]; } } printf("%d %d",z,z1); }