• acwing 652. 切蛋糕


    题目地址

    今天是小Z的生日,同学们为他带来了一块蛋糕。

    这块蛋糕是一个长方体,被用不同色彩分成了N个相同的小块,每小块都有对应的幸运值。

    小Z作为寿星,自然希望吃到的第一块蛋糕的幸运值总和最大,但小Z最多又只能吃M小块(M≤N)的蛋糕。

    吃东西自然就不想思考了,于是小Z把这个任务扔给了学OI的你,请你帮他从这N小块中找出连续的k块蛋糕(k≤M),使得其上的幸运值最大。

    输入格式

    第一行包含两个整数N和M,表示共有N小块蛋糕,小Z最多只能吃M小块。

    第二行包含空格隔开的N个整数,第i个整数PiPi代表第 i 小块蛋糕的幸运值。

    输出格式

    输出包含一个整数,为小Z能够得到的最大幸运值。

    数据范围

    1N5000001≤N≤500000,
    500Pi500

    输入样例:

    5 2
    1 2 3 4 5
    

    输出样例:

    9

    滑动窗口 前缀和 然后还是 TLE的版本

     1 #include <iostream>
     2 
     3 
     4 using namespace std;
     5 
     6 const int N = 5e5+10;
     7 
     8 int luck[N];
     9 int preSum[N];
    10 
    11 
    12 
    13 int m ,n;
    14 
    15 int ans =0;
    16 
    17 int main()
    18 {
    19     cin >>n>> m;  
    20     
    21     for (int i = 1; i <= n; i++) {
    22         cin >> luck[i]  ;
    23         preSum[i] = preSum[i - 1] + luck[i];
    24     }
    25 
    26     for (int l = 0; l <= n; l++)
    27     {
    28         for (int j = l +1; j <= n; j++) {
    29             if (j - l > m)
    30                 break;
    31             int sum = preSum[j] - preSum[l];
    32             if (sum > ans) {
    33                 ans = sum;
    34             }
    35         }
    36     }
    37 
    38     cout << ans << endl;
    39 
    40     
    41     
    42     return 0; 
    43 }
    tle

    附上限时内通过的代码地址 https://www.acwing.com/blog/content/150/

    作 者: itdef
    欢迎转帖 请保持文本完整并注明出处
    技术博客 http://www.cnblogs.com/itdef/
    B站算法视频题解
    https://space.bilibili.com/18508846
    qq 151435887
    gitee https://gitee.com/def/
    欢迎c c++ 算法爱好者 windows驱动爱好者 服务器程序员沟通交流
    如果觉得不错,欢迎点赞,你的鼓励就是我的动力
    阿里打赏 微信打赏
  • 相关阅读:
    在Spring Bean的生命周期中各方法的执行顺序
    java面试宝典
    js代码中实现页面跳转的几种方式
    APP测试学习:系统资源分析
    APP测试学习:webview性能分析
    APP测试学习:app启动性能分析
    App测试学习:自动遍历测试
    性能测试学习:jmeter通过代理录制、回放请求
    Docker学习五:如何搭建私有仓库
    Docker学习四:容器基本操作
  • 原文地址:https://www.cnblogs.com/itdef/p/10861761.html
Copyright © 2020-2023  润新知