• 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

    ╮(╯▽╰)╭哎,

    有家不能回的感觉真痛苦,

    妈~我真的想你了~~~

    此题直接模拟即可。

    注意开long long。

    代码:

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cmath>
     4 #include<algorithm>
     5 #include<cstring>
     6 using namespace std;
     7 
     8 long long n,x,t,s;
     9 int a[100002];
    10 
    11 int main()
    12 {
    13     scanf("%d%d",&n,&x);
    14     for(int i=1;i<=n;++i)
    15         scanf("%d",&a[i]);
    16     for(int i=1;i<n;++i)
    17     {
    18         t=a[i]+a[i+1]; 
    19         if(t>x)        
    20         {
    21             a[i+1]-=t-x;
    22             s+=t-x;
    23         }            
    24     }
    25     printf("%lld",s);
    26     return 0;
    27 }

    如果你不开心,那我就把右边这个帅傻子分享给你吧, 

    你看,他这么好看,那么深情的望着你,你还伤心吗? 

    真的!这照片盯上他五秒钟就想笑了。 

    一切都会过去的。

  • 相关阅读:
    基础数据类型转换和深浅拷贝
    文件操作
    运算符相关
    基础数据类型概述
    dijkstra算法学习笔记
    洛谷 P1880 [NOI1995]石子合并
    最大公约数GCD学习笔记
    洛谷 P1280 尼克的任务
    [NOIp2012]疫情控制
    [NOIp2016]蚯蚓
  • 原文地址:https://www.cnblogs.com/Mary-Sue/p/9439542.html
Copyright © 2020-2023  润新知