上海市计算机学会竞赛平台2024年9月月赛丙组速冻水饺

题目描述

小爱在 nn 天时间里,每天都要吃一盘水饺。

水饺每天的价格都不一样。在第 ii 天,水饺的价格为每份 aiai​元。小爱可以未雨绸缪,提前多买几份水饺放在冰箱里冷冻。但每份水饺每冻一天需要支付电费 cc 元。

假设每天可以买无限多的水饺,冰箱的容量也是无限的,请问小爱应该如何购买水饺才能使支付的总价达到最小?

输入格式
  • 第一行:两个整数:表示 nn 与 cc
  • 第二行:nn个整数:表示 a1a1​ 到 anan​
输出格式
  • 单个整数:表示最小总价格。
数据范围
  • 30%30% 的数据,1≤n≤201≤n≤20
  • 60%60% 的数据,1≤n≤1,0001≤n≤1,000
  • 100%100% 的数据,1≤n≤100,0001≤n≤100,000
  • 1≤c,ai≤20,0001≤c,ai​≤20,000
样例数据

输入:

5 3
10 20 20 20 20

输出:

78

说明:

10+13+16+19+20

详见代码:

#include<bits/stdc++.h>
using namespace std;
int n, c;
int a[100005];
long long ans = 0;
int x = 1e9; 
int main() 
{
    cin >> n >> c;
    for(int i = 1; i <= n; i++)
    {
        cin >> a[i];
    }
    for(int i = 1; i <= n; i++) 
    {
        x += c;
        x = min(x, a[i]); 
        ans += x; 
    }
    cout << ans;
    return 0 ;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值