标题:时间超限的题,求帮忙优化
取消只看楼主
青蝶
Rank: 2
等 级:论坛游民
帖 子:160
专家分:51
注 册:2018-2-4
结帖率:92%
已结贴  问题点数:20 回复次数:2 
时间超限的题,求帮忙优化

这个代码能成功运行,但是时间超限,用的暴力计算法,求大佬提供优化算法,谢谢~
#include<stdio.h>
#include<stdlib.h>
int main(void){
  int T,n,m,i,k,sum=0,min,a[100000];
  scanf("%d",&T);
  while(T--){
      min=100001;
    scanf("%d %d",&n,&m);
    for(i=0;i<n;i++) scanf("%d",&a[i]);
    for(i=0;i<n;i++){
        k=0;
        while(sum<m&&(i+k<n)){
          sum+=a[i+k];
          k++;
      }
        if(k<min&&sum>=m) min=k;
        sum=0;
    }
    if(min!=100001) printf("%d\n",min);
    else printf("0\n");
}
  return 0;
}
        
   
搜索更多相关主题的帖子: 时间 优化 sum min scanf 
2018-05-08 11:30
青蝶
Rank: 2
等 级:论坛游民
帖 子:160
专家分:51
注 册:2018-2-4
得分:0 
回复 4楼 九转星河
不是很懂,大佬能再解释一下么?我也觉得两个题不一样
2018-05-09 15:26
青蝶
Rank: 2
等 级:论坛游民
帖 子:160
专家分:51
注 册:2018-2-4
得分:0 
回复 6楼 九转星河
通过OJ了,感动~谢谢大佬帮忙~
2018-05-09 21:36



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-486761-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.234775 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved