首页 > 其他 > 详细

洛谷 P3817 小A的糖果

时间:2018-03-17 11:58:07      阅读:206      评论:0      收藏:0      [点我收藏+]

                     洛谷 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

这个题好像是个模拟来着,年代比较久远了  qwq

难度:普及-

技术分享图片
#include<algorithm>
#include<iostream>
#include<cstdio>
using namespace std;
int n, m;
int sum;
int a[100005];
int main() {
    scanf("%d%d", &n, &m);
    for(int i = 1; i <= n; i++)
        scanf("%d", &a[i]);
    for(int i = 1; i < n; i++) {
        if(a[i]+a[i+1] > m) {
            int y = a[i]+a[i+1]-m;
            sum += y;
            a[i+1] -= y;
        }
    }
    printf("%d", sum);
    return 0;
}
80 分代码,不知道为啥WA了两个点,请大佬指出
技术分享图片
#include<cstdio>
using namespace std;
int n, x, k;
long long ans;
int a[100001];
int main()
{
    scanf("%d%d", &n, &x);
    for(int i = 1; i <= n; i++)
        scanf("%d", &a[i]);
    for(int i = 2; i <= n; i++)
        if(a[i]+a[i-1] > x) {
            k = a[i]+a[i-1]-x;
            if(a[i] >= k)
                a[i] -= k;
            else a[i] = 0;
            ans += k;
        }
    printf("%lld", ans);
    return 0;
}
AC了的代码
技术分享图片
#include <iostream>
#include <vector>
int main() {
  unsigned long long N, x;
  std::cin >> N >> x;
  std::vector<unsigned long long> a(N);
  for (unsigned i = 0; i < N; ++i) { std::cin >> a[i]; }
  unsigned long long ans = 0ull;
  for (unsigned i = 1; i < N; ++i) {
    if (a[i - 1] + a[i] > x) {
      if (a[i - 1] < x) {
        ans += a[i] + a[i - 1] - x;
        a[i] -= a[i] + a[i - 1] - x;
      } else {
        ans += a[i];
        a[i] = 0;
        ans += a[i - 1] - x;
      }
    }
  }
  std::cout << ans;
  return 0;
}
题目自带的标程

 

洛谷 P3817 小A的糖果

原文:https://www.cnblogs.com/v-vip/p/8588219.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!