蓝桥--鸡哥的购物挑战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;
}
目录
相关文章
|
域名解析 网络协议 对象存储
阿里云 CDN 控制台演示:源站加速|学习笔记
快速学习阿里云 CDN 控制台演示:源站加速
阿里云 CDN 控制台演示:源站加速|学习笔记
|
算法 C++
剑指offer(C++)-JZ70:矩形覆盖(算法-动态规划)
剑指offer(C++)-JZ70:矩形覆盖(算法-动态规划)
239 0
|
前端开发 JavaScript Java
基于Java+Springboot+Vue开发的鲜花商城管理系统
基于Java+Springboot+Vue开发的鲜花商城管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的鲜花商城管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
356 2
|
机器学习/深度学习 计算机视觉 网络架构
【YOLO11改进 - C3k2融合】C3k2DWRSeg二次创新C3k2_DWR:扩张式残差分割网络,提高特征提取效率和多尺度信息获取能力,助力小目标检测
【YOLO11改进 - C3k2融合】C3k2DWRSeg二次创新C3k2_DWR:扩张式残差分割网络,提高特征提取效率和多尺度信息获取能力,助力小目DWRSeg是一种高效的实时语义分割网络,通过将多尺度特征提取分为区域残差化和语义残差化两步,提高了特征提取效率。它引入了Dilation-wise Residual (DWR) 和 Simple Inverted Residual (SIR) 模块,优化了不同网络阶段的感受野。在Cityscapes和CamVid数据集上的实验表明,DWRSeg在准确性和推理速度之间取得了最佳平衡,达到了72.7%的mIoU,每秒319.5帧。代码和模型已公开。
【YOLO11改进 - C3k2融合】C3k2DWRSeg二次创新C3k2_DWR:扩张式残差分割网络,提高特征提取效率和多尺度信息获取能力,助力小目标检测
|
存储 人工智能 关系型数据库
MySQL 8.0 字符集与比较规则介绍
我们都知道 MySQL 8.0 与 MySQL 5.7 的区别之一就是默认字符集从 latin1 改成了 utf8mb4 ,除此之外,MySQL 8.0 下的字符集和比较规则还有没有其他变化呢?本篇文章我们一起来学习下。
1088 1
|
关系型数据库 MySQL Java
Activiti 初始化启动失败提示 ACT
Activiti 初始化启动失败提示 ACT
366 0
|
数据采集 存储 Oracle
高效元数据采集与管理 -- Dataphin新功能助力数据驱动业务增长
Dataphin作为领先的数据开发与治理一体化平台,全新推出元数据采集与管理功能,可支持多种采集源,并能对采集到的元数据对象进行统一管理和运营,同时可对接丰富的下游应用,为企业在数据管理各个环节提供强有力的支持。
527 2
|
机器学习/深度学习 人工智能 自然语言处理
Python转换Excel到Markdown
Python转换Excel到Markdown
595 0
|
Ubuntu 虚拟化 数据安全/隐私保护
Ubuntu如何在VMWare里面屏幕自适应
Ubuntu如何在VMWare里面屏幕自适应
1038 0
|
JavaScript 前端开发
Node.js中的错误处理机制
【4月更文挑战第30天】本文介绍了Node.js的错误处理机制,包括Error对象、try-catch、错误事件监听及Promise和async/await的错误处理。错误通常封装在Error对象中,可自定义错误类型。try-catch用于捕获异常,但不适用于异步错误。事件监听器处理对象发出的&#39;error&#39;事件,防止应用崩溃。Promise的.catch()和async/await结合try-catch用于处理异步错误。良好的错误处理是保证应用健壮性和可靠性的关键。

热门文章

最新文章

下一篇
开通oss服务