zoukankan      html  css  js  c++  java
  • 洛谷 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

    思路:贪心

    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    int n,x;
    long long ans;
    int num[100010];
    int main(){
        scanf("%d%d",&n,&x);
        for(int i=1;i<=n;i++)
            scanf("%d",&num[i]);
        for(int i=1;i<n;i++)
            if(num[i]+num[i+1]>x){
                ans+=(num[i+1]+num[i]-x);
                num[i+1]-=(num[i+1]+num[i]-x);
            }
        cout<<ans;
    }
    细雨斜风作晓寒。淡烟疏柳媚晴滩。入淮清洛渐漫漫。 雪沫乳花浮午盏,蓼茸蒿笋试春盘。人间有味是清欢。
  • 相关阅读:
    bzoj 1231 [Usaco2008 Nov]mixup2 混乱的奶牛
    bzoj 1263 [SCOI2006]整数划分
    bzoj 1264 [AHOI2006]基因匹配Match dp + 树状数组
    bzoj 1230: [Usaco2008 Nov]lites 开关灯
    2015 icpc北京赛区 D 最小割
    HDU
    bzoj 1079: [SCOI2008]着色方案
    最大素因数
    最大素因数
    欧拉函数
  • 原文地址:https://www.cnblogs.com/cangT-Tlan/p/7859071.html
Copyright © 2011-2022 走看看