当前位置: 首页 > news >正文

AcWing 蛋糕游戏

6118. 蛋糕游戏 - AcWing题库

a先手,每回合合并两个蛋糕,当只剩下一个蛋糕时最后吃掉

b后手,每回合吃最左边或最右边的蛋糕

求ab能吃的最多的值

a最多能吃n/2+1个,b吃n/2-1个,如果吃到a合并的蛋糕,获得的值还能更大,因此让a吃最小的n/2+1个,b获得剩下的

#include <bits/stdc++.h>        

#define fi first
#define se second
#define endl '\n'

using namespace std;
using LL = long long;


const int mod = 1e9 + 7;


const int N = 5e5 + 10,T = 20;


int n;
LL a[N];

void solve()
{
    cin >> n;
    int len = n / 2 + 1;

    for (int i = 1;i <= n;i ++) cin >> a[i],a[i] += a[i - 1];

    LL sa = a[n];

    for (int i = 1;i + len - 1<= n;i ++)
    {
        int j = i + len - 1;
        sa = min(sa,a[j] - a[i - 1]);   
    }

    cout << sa << " " << a[n] - sa << endl;

}

int main()
{
    ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    int _ = 1;
    cin >> _;
    while(_--) solve();

    return 0;
}   

相关文章:

  • CSS3(媒体查询、媒体类型、媒体特性、媒体运算符、BFC)
  • Pytest之parametrize参数化
  • 如何使用Spring Boot框架整合Redis:超详细案例教程
  • Java数据结构第十六期:走进二叉树的奇妙世界(五)
  • DeepSeek MLA(Multi-Head Latent Attention)算法浅析
  • Qt的坐标
  • TrustRAG:通过配置化模块化的检索增强生成(RAG)框架提高生成结果的可靠性和可追溯性
  • Redis - 高可用实现方案解析:主从复制与哨兵监控
  • drawDB:一款免费数据库设计工具
  • 从基础到进阶的Java学习技术指南
  • Spring Boot 测试:单元、集成与契约测试全解析
  • 004 rocketmq集群
  • C++杂记——RTTI
  • PageHelper新发现
  • list的模拟实现
  • P2P 下载科普:原理与应用
  • 三数之和_算法
  • 期权学习与期权异动
  • iOS 使用消息转发机制实现多代理功能
  • 如何将Vue项目部署至 nginx
  • 下辖各区密集“联手”,南京在下一盘什么样的棋?
  • 信俗与共:清代新疆回疆儒释道庙宇的中华政教
  • 【社论】城市更新,始终以人为核心
  • 阿里上财年营收增6%,蒋凡:会积极投资,把更多淘宝用户转变成即时零售用户
  • 赡养纠纷个案推动类案监督,检察机关保障特殊群体胜诉权
  • 美联储主席:供应冲击或更频繁,将重新评估货币政策方法中的通胀和就业因素