P3817 小A的糖果(洛谷月赛)

P3817 小A的糖果

题目描述

小A有N个糖果盒,第i个盒中有a[i]颗糖果。

小A每次可以从其中一盒糖果中吃掉一颗,他想知道,要让任意两个相邻的盒子中加起来都只有x颗或以下的糖果,至少得吃掉几颗糖。

输入输出格式

输入格式:

第一行输入N和x。

第二行N个整数,为a[i]。

输出格式:

至少要吃掉的糖果数量。

输入输出样例

输入样例#1:

3 3
2 2 2

输出样例#1:

1

输入样例#2:

6 1
1 6 1 2 0 4

输出样例#2:

11

输入样例#3:

5 9
3 1 4 1 5

输出样例#3:

0

说明

样例解释1

吃掉第二盒中的糖果。

样例解释2

第二盒吃掉6颗,第四盒吃掉2颗,第六盒吃掉3颗。

30%的测试数据,2<=N<=20,0<=a[i], x<=100

70%的测试数据,2<=N<=1000,0<=a[i], x<=10^5

100%的测试数据,2<=N<=10^5,0<=a[i], x<=10^9

直接边输入,边处理,加起来大于x,就减,不大于就直接更新的last(las)的值。

注意:要开long long,80分与100分的区别,QAQ

 1 #include<cstdio>
 2
 3 long long a,n,x,las = 0,ans;
 4
 5 int main()
 6 {
 7     scanf("%lld%lld",&n,&x);
 8
 9     for (int i=1; i<=n; ++i)
10     {
11         scanf("%lld",&a);
12         if (a+las>x)
13         {
14             ans += (a+las-x);
15             las = x-las;
16         }
17         else las = a;
18     }
19     printf("%lld",ans);
20     return 0;
21 }
时间: 2024-10-12 23:38:12

P3817 小A的糖果(洛谷月赛)的相关文章

AC日记——小A的糖果 洛谷七月月赛

小A的糖果 思路: for循环贪心: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 100005 #define ll long long ll ai[maxn],n,m,ans; inline void in(ll &now) { char Cget=getchar();now=0; while(Cget>'9'||Cget<'0')Cget=getchar(); while(Cget>

洛谷 P3817 小A的糖果

P3817 小A的糖果 题目描述 小A有N个糖果盒,第i个盒中有a[i]颗糖果. 小A每次可以从其中一盒糖果中吃掉一颗,他想知道,要让任意两个相邻的盒子中加起来都只有x颗或以下的糖果,至少得吃掉几颗糖. 输入输出格式 输入格式: 第一行输入N和x. 第二行N个整数,为a[i]. 输出格式: 至少要吃掉的糖果数量. 输入输出样例 输入样例#1: 复制 3 3 2 2 2 输出样例#1: 复制 1 输入样例#2: 复制 6 1 1 6 1 2 0 4 输出样例#2: 复制 11 输入样例#3: 复制

luogu P3817 小A的糖果

P3817 小A的糖果 题目描述 小A有N个糖果盒,第i个盒中有a[i]颗糖果. 小A每次可以从其中一盒糖果中吃掉一颗,他想知道,要让任意两个相邻的盒子中加起来都只有x颗或以下的糖果,至少得吃掉几颗糖. 输入输出格式 输入格式: 第一行输入N和x. 第二行N个整数,为a[i]. 输出格式: 至少要吃掉的糖果数量. 输入输出样例 输入样例#1: 3 3 2 2 2 输出样例#1: 1 输入样例#2: 6 1 1 6 1 2 0 4 输出样例#2: 11 输入样例#3: 5 9 3 1 4 1 5

【洛谷】【洛谷月赛】4月月赛Round 1/2

洛谷月赛"月"来"月"丧了,一月更比一月丧,做得我十分不"月"-- 4月的两轮月赛,都只会T1,就写一下吧,等待后续更新-- 先看看Round1的T1: [R1T1] 网址:点我 [题意简述] 给定一个长度为n的序列,其中的元素均是1~m之间的正整数. 要求从中选出k个数,交换它们的位置,其他未被选中的数保持不变,使得变换后的序列中,相等的数总是排在一段连续区间. 要求最小化k. 1<=n<=105,1<=m<=20 [思

P3818 小A和uim之大逃离 II(洛谷月赛)

P3818 小A和uim之大逃离 II 题目背景 话说上回……还是参见 https://www.luogu.org/problem/show?pid=1373 吧 小a和uim再次来到雨林中探险.突然一阵南风吹来,一片乌云从南部天边急涌过来,还伴着一道道闪电,一阵阵雷声.刹那间,狂风大作,乌云布满了天空,紧接着豆大的雨点从天空中打落下来,只见前方出现了一个牛头马面的怪物,低沉着声音说:“呵呵,既然你们来到这,两个都别活了!”.小a和他的小伙伴再次惊呆了! 题目描述 瞬间,地面上出现了一个H行W列

P3817 小A的糖果

题目描述 小A有N个糖果盒,第i个盒中有a[i]颗糖果. 小A每次可以从其中一盒糖果中吃掉一颗,他想知道,要让任意两个相邻的盒子中加起来都只有x颗或以下的糖果,至少得吃掉几颗糖. 输入输出格式 输入格式: 第一行输入N和x. 第二行N个整数,为a[i]. 输出格式: 至少要吃掉的糖果数量. 输入输出样例 输入样例#1: 3 3 2 2 2 输出样例#1: 1 输入样例#2: 6 1 1 6 1 2 0 4 输出样例#2: 11 输入样例#3: 5 9 3 1 4 1 5 输出样例#3: 0 说明

P3819 松江1843路(洛谷月赛)

P3819 松江1843路 题目描述 涞坊路是一条长L米的道路,道路上的坐标范围从0到L,路上有N座房子,第i座房子建在坐标为x[i]的地方,其中住了r[i]人. 松江1843路公交车要在这条路上建一个公交站,市政府希望让最多的人得到方便,因此希望所有的每一个的居民,从家到车站的距离的总和最短. 公交站应该建在哪里呢? 输入输出格式 输入格式: 第一行输入L.N. 接下来N行,每行两个整数x[i]和r[i]. 输出格式: 一个整数,最小的每个人从家到车站的距离的总和. 输入输出样例 输入样例#1

洛谷 模拟城市2.0

一次洛谷月赛的T1,当时因为是信心赛,认为第一题应该不会太难,结果想了很久,直接额放弃正解选择暴力...简直就是巨坑的五维DP...mmd 题目背景 博弈正在机房颓一个叫做<模拟城市2.0>的游戏. 2048年,经过不懈努力,博弈终于被组织委以重任,成为D市市委书记! 他勤学好问,励精图治,很快把D市建设成富强民主文明和谐的美好城市.为了进一步深化发展,他决定在海边建立一个经济开发区. 题目描述 已知开发区的建筑地块是一个n×n的矩形,而开发区可以建造三种建筑: 商业楼,住宅楼,教学楼.这任何

洛谷 P2709 BZOJ 3781 小B的询问

题目描述 小B有一个序列,包含N个1~K之间的整数.他一共有M个询问,每个询问给定一个区间[L..R],求Sigma(c(i)^2)的值,其中i的值从1到K,其中c(i)表示数字i在[L..R]中的重复次数.小B请你帮助他回答询问. 输入输出格式 输入格式: 第一行,三个整数N.M.K. 第二行,N个整数,表示小B的序列. 接下来的M行,每行两个整数L.R. 输出格式: M行,每行一个整数,其中第i行的整数表示第i个询问的答案. 输入输出样例 输入样例#1: 6 4 3 1 3 2 1 1 3