蓝桥--鸡哥的购物挑战OJ(4169)

简介: 蓝桥--鸡哥的购物挑战OJ(4169)

题目:

思路:

暴力:

直接枚举所有得偶数区间,找最大值,n2超时

优化:

分类讨论,只要做倒不重不漏得分类不出意外就能AC了

图中的选择方式很简单了,不做解释了。(右下的选择方式写错了是最小的那个>0的数不选)

AC代码(我的代码可能不比别人简洁,但是我觉得是最好搞懂的了,可能也是太笨了):

#include <iostream>
#include <algorithm>
using namespace std;
typedef long long LL;
const int N = 1e5 + 10;
LL w[N];
LL sum[N];
int n;
int main()
{
    cin >> n;
    for (int i = 1; i <= n; i++) cin >> w[i];
    sort (w + 1, w + n + 1);
    int num = 0;
    for (int i = 1; i <= n; i++)
        if (w[i] > 0)   num++;
    for (int i = 1; i <= n; i++)   sum[i] = sum[i - 1] + w[i];
    //防止都是大于0的数,特判一下
    if (num == n && num & 1)
    {
        cout << sum[n] - w[1];
        return 0;
    }
    LL res = 0;
    if (num & 1)
    {
        int last = w[n - num + 1] + w[n - num];
        if (last >= 0)
            res = sum[n] - sum[n - num - 1];
        else 
            res = sum[n] - sum[n - num + 1];
    }
    else 
        res = sum[n] - sum[n - num];
    cout << res;
    return  0;
}
目录
相关文章
|
算法 Java 机器人
百度松果菁英班--3月日常练习题-1
百度松果菁英班--3月日常练习题-1
49 0
|
Java C++ Python
快讯:LeetCode中国正式上线《剑指Offer》题目,刷题真方便了!
近日,LeetCode中国[1]上线了一个全新的分类模块 LCOF “剑指 Offer[2]”。
5813 0
快讯:LeetCode中国正式上线《剑指Offer》题目,刷题真方便了!
【牛客IOI周赛26-普及组】A-平行四边形
【牛客IOI周赛26-普及组】A-平行四边形
|
5月前
|
SQL 数据库 数据安全/隐私保护
[极客大挑战 2019]LoveSQL1 题目分析与详解
[极客大挑战 2019]LoveSQL1 题目分析与详解
|
5月前
蓝桥备战--纪念品分组OJ532,贪心证明
蓝桥备战--纪念品分组OJ532,贪心证明
25 0
|
11月前
|
算法 测试技术 容器
代码随想录算法训练营第四十二天 | LeetCode 1049. 最后一块石头的重量 II、494. 目标和、474. 一和零
代码随想录算法训练营第四十二天 | LeetCode 1049. 最后一块石头的重量 II、494. 目标和、474. 一和零
40 1
|
算法 Android开发 Kotlin
LeetCode 周赛上分之旅 #42 当 LeetCode 考树上倍增,出题的趋势在变化吗
学习数据结构与算法的关键在于掌握问题背后的算法思维框架,你的思考越抽象,它能覆盖的问题域就越广,理解难度也更复杂。在这个专栏里,小彭与你分享每场 LeetCode 周赛的解题报告,一起体会上分之旅。
109 0
LeetCode 周赛上分之旅 #42 当 LeetCode 考树上倍增,出题的趋势在变化吗
|
算法 Java Python
【算法模板】DFS秒杀模板—附练习题(阳光号启航)(一)
【算法模板】DFS秒杀模板—附练习题(阳光号启航)(一)
【算法模板】DFS秒杀模板—附练习题(阳光号启航)(一)
|
缓存 Java 测试技术
蓝桥杯2019年第十届JavaB组真题题目+解析+代码+答案:7.外卖店优先级
蓝桥杯2019年第十届JavaB组真题题目+解析+代码+答案:7.外卖店优先级
137 0
蓝桥杯2019年第十届JavaB组真题题目+解析+代码+答案:7.外卖店优先级
下一篇
无影云桌面