1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

题解思路

塔子哥希望找到连续 x 天内可以获得最多金币的方案。为了实现这一目标,我们的日历数据是一个长度为 n 的数组 d,其中每个元素表示每个月的天数。由于塔子哥可以跨越到下一年的第一个月,因此我们需要考虑跨年情况。为了解决这个问题,我们采用了以下思路:

  1. 双倍日历数组:将日历数组 d 复制一份,形成一个长度为 2n 的数组。这一做法确保我们可以在任何地方找到长度为 x 的连续天数,并且能够平滑地处理跨年情况。

  2. 滑动窗口算法:我们通过滑动窗口的方式来计算在不同起点下,连续 x 天可以获得的金币总数。窗口的初始位置从 0 开始,每次移动一格,尝试不同的起点。

  3. 动态调整窗口:在窗口滑动过程中,维护当前窗口中的天数和金币总和。如果当前窗口内的天数和大于 x,则从左侧移除天数,直到窗口中的天数和小于等于 x。

P2340.第2题-大礼包

    1000ms Tried: 1572 Accepted: 171 Difficulty: 4 所属公司 : 华为
    算法与标签>双指针

某公司日对新用户推出大礼包,从任意一天注册开始,连续登录xxx天,每天可以领取一定的金币,领取金币的数量与该公司新设计的虚假世界的日历相关,该日历一年有nnn个月,第iii个月有did_idi​天,每一年都一样。在每个月第一天会得到1个金币,第天会得到2个金币币第三天会得到3个金币,后面次类推。 请计算新用户注册后连续登陆xxx天,最多可以获取多少金币。 请注意,连续登陆可能会跨年。

解答要求 时间限制:C/C++ 500ms,其他语言:1000ms

内存限制:C/C++ 256MB, 其他语言:512MB

输入

第一行包含两个整数nnn和x(1≤n≤2∗105)x(1\leq n\leq 2*10^{5})x(1≤n≤2∗105),分别表示一年中的月数和连续登陆的天数。第二行包含 nnn 个整数 d1,d2,...,dnd_1,d_2,...,d_nd1​,d2​,...,dn​,did_idi​表示第iii个月的天数(1≤di≤1061 ≤ d_i ≤ 10^{6}1≤di​≤106) 用例保证,1≤x≤d1+d2+...+dn1 \leq x \leq d_1+ d_2 + ...+ d_n1≤x≤d1​+d2​+...+dn​。

输出

打印新用户连续号陆x天最多可以获取的金币数量

样例1

输入

3 2
1 3 1

输出

5

解释

一年中每天获取的金币数是{1,1,2,3,1}\{1,1,2,3,1\}{1,1,2,3,1}(对应每个月中的天数)。如果在一年中的第3天开始注册陆,最多可以获取 2+3=52+3=52+3=5 个金币。

样例2

输入

3 6
3 3 3

输出

12

解释

一年中每天获取的金币数是{1,2,3,1,2,3,1,2,3}\{1,2,3,1,2,3,1,2,3\}{1,2,3,1,2,3,1,2,3}(对应每个月中的天数)。如果在一年中的第12天开始注册登陆,最多可以获取3+1+2+3+1+2=123+1+2+3+1+2=123+1+2+3+1+2=12个金币.

样例3

输入

5 6
4 2 3 1 3

输出

15

解释

一年中每天获取的金币数是{1,2,3,4,1,2,1,2,3,1,1,2,3}\{1,2,3,4,1,2,1,2,3,1,1,2,3\}{1,2,3,4,1,2,1,2,3,1,1,2,3}(对应每个月中的天数)。如果在一年中的第12天开始注册登陆,最多可以获取2+3+1+2+3+4=152+3+1+2+3+4=152+3+1+2+3+4=15个金币

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 0, 50ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?