首页 > 其他分享 >P3817 小A的糖果

P3817 小A的糖果

时间:2024-05-23 21:32:20浏览次数:27  
标签:int sum long P3817 糖果 超过

题目链接

#include <bits/stdc++.h>
using namespace std;

const int N = 1e6+7;

int n,x;
int a[N];
long long sum;

int main() {
    cin>>n>>x;
    
    for(int i=1;i<=n;i++) cin>>a[i]; 
    if(a[1]>x) {  //当第一个数大于 已经超过 x 
      sum+=a[1]-x;  //需要吃的糖果数 
      a[1]=x;      //请第一个改为最小数量 
	}
    for(int i=2;i<=n;i++){
    	if(a[i]+a[i-1]>x) { //当相邻的两个糖果的数量 超过 x时 
    		sum+=a[i]+a[i-1]-x;   //需要吃的糖果数 他俩的和-x (超过的量) 
    		a[i]=x-a[i-1];        //贪心  
		}
	}
	cout<<sum;
	return 0;

}

标签:int,sum,long,P3817,糖果,超过
From: https://www.cnblogs.com/ltphy-/p/18209377

相关文章

  • 程序分享--常见算法/编程面试题:分发糖果
    关注我,持续分享逻辑思维&管理思维&面试题;可提供大厂面试辅导、及定制化求职/在职/管理/架构辅导;有意找工作的同学,请参考博主的原创:《面试官心得--面试前应该如何准备》,《面试官心得--面试时如何进行自我介绍》, 《做好面试准备,迎接2024金三银四》。或关注博主免费专栏【程序......
  • python算法:分糖果
    一,while循环:1,功能:重复执行同一段代码语法:while条件表达式:  #循环体当条件表达式的返回值为真时,则执行循环体中的语句,执行完毕后,重新判断条件表达式的返回值,如果表达式返回的结果为假,则退出循环体2,流程图:3,打印从1到1012345#打印从1到1......
  • 34天【代码随想录算法训练营34期】第八章 贪心算法 part03 (● 1005.K次取反后最大化
    1005.K次取反后最大化的数组和classSolution:deflargestSumAfterKNegations(self,nums:List[int],k:int)->int:nums.sort(key=lambdax:abs(x),reverse=True)foriinrange(len(nums)):ifnums[i]<0andk>0:......
  • [HAOI2008] 糖果传递
    非常经典的数学题。设\(x_i\)表示\(i\)给右边的人多少糖(如果\(x_i<0\),就是从右边的人那里拿糖)。先考虑列出方程\[\left\{\begin{matrix}a_1-x_1+x_n=\bara\\a_2-x_2+x_1=\bara\\\cdots\\a_n-x_n+x_{n-1}=\bara\\\end{matrix}\right.\]用\(x_1\)表示\(x_......
  • 135. 分发糖果
    135.分发糖果https://leetcode.cn/problems/candy/description/?envType=study-plan-v2&envId=top-interview-150 CodeclassSolution{public:intcandy(vector<int>&ratings){intn=ratings.size();vector<int>left(n,......
  • 力扣经典150题第十五题:分发糖果
    目录力扣经典150题第十五题:分发糖果1.题目描述2.问题分析3.解题思路4.代码实现5.时间复杂度分析6.应用和扩展7.总结8.参考资料力扣经典150题第十五题:分发糖果1.题目描述n个孩子站成一排。给你一个整数数组ratings表示每个孩子的评分。你需要按照以下......
  • 可以奖励几个糖果
    看了C练习的第二个示例,写一个C语言入门随笔。如你的写字桌上正好有一台微软surface4平板电脑,其上运行的是win10系统,怎么快速运行一个写好的C语言程序呢,照着流程做就可以哦。首先,打开cmd命令行窗口,哪一个?就是桌面上的黑色图标,和彩色的图标看起来很不一样哦桌面上怎么没找到呢?......
  • P8687 [蓝桥杯 2019 省 A] 糖果
    原题链接题解二进制表示每包糖果包含的味道,因为有一种拼接的感觉,然后背包dp,注意这里每个材料不止只能取一个code#include<bits/stdc++.h>usingnamespacestd;intdp[1<<22]={0},candy[105]={0};constintinf=2e9;intmain(){intn,m,k;cin>>n>>m>>k;......
  • 代码随想录 Day34 贪心算法 1005.K次取反后最大化的数组和 134. 加油站 135. 分发糖果
    1005.K次取反后最大化的数组和 classSolution{public:intlargestSumAfterKNegations(vector<int>&nums,intk){sort(nums.begin(),nums.end());intsum=0;inti=0;while(k>0){nums[i]=0-nums[i]......
  • 代码随想录算法训练营第34天| 1005. K 次取反后最大化的数组和、134. 加油站、135. 分
    1005.K次取反后最大化的数组和题目链接:K次取反后最大化的数组和题目描述:给你一个整数数组nums和一个整数k,按以下方法修改该数组:选择某个下标i并将nums[i]替换为nums[i]。重复这个过程恰好k次。可以多次选择同一个下标i。以这种方式修改数组后,返回数......