《B3867 [GESP202309 三级] 小杨的储蓄》

题目背景

对应的选择、判断题:https://ti.luogu.com.cn/problemset/1129

题目描述

小杨共有 N 个储蓄罐,编号从 0 到 N−1。从第 1 天开始,小杨每天都会往存钱罐里存钱。具体来说,第 i 天他会挑选一个存钱罐 ai​,并存入 i 元钱。过了 D 天后,他已经忘记每个储蓄罐里都存了多少钱了,你能帮帮他吗?

输入格式

输入 2 行,第一行两个整数 N,D;第二行 D 个整数,其中第 i 个整数为 ai​(保证 0≤ai​≤N−1)。

每行的各个整数之间用单个空格分隔。

保证 1≤N≤1,000;1≤D≤1,000。

输出格式

输出 N 个用单个空格隔开的整数,其中第 i 个整数表示编号为 i−1 的存钱罐中有多少钱(i=1,⋯,N)。

输入输出样例

输入 #1复制

复制代码
2 3
0 1 0

输出 #1复制

复制代码
4 2

输入 #2复制

复制代码
3 5
0 0 0 2 0

输出 #2复制

复制代码
11 0 4

说明/提示

样例解释 1:

小杨在第 1 天、第 2 天、第 3 天分别向 0 号、 1 号、 0 号存钱罐存了 1 元钱、 2 元钱、 3 元钱,因此 0 号存钱罐有 1+3=4 元钱,而 1 号存钱罐有 2 元钱。

代码实现:

cpp 复制代码
#include <iostream>
using namespace std;

int main() {
    int N, D;
    cin >> N >> D;
    int money[1005] = {0};
    
    for (int i = 1; i <= D; ++i) {
        int a;
        cin >> a;
        money[a] += i;
    }
    
    for (int i = 0; i < N; ++i) {
        cout << money[i] << " ";
    }
    return 0;
}
相关推荐
心仪久了会沦陷33 分钟前
C语言数据结构入门——树与二叉树详解:概念、堆实现与链式遍历
c语言·数据结构·算法
小此方37 分钟前
[算法实战论:动态规划]背包问题概念,01不满背包问题,01满背包问题,背包问题的滚动数组空间优化
算法·动态规划
悠仁さん2 小时前
【C++】哈希表
c++·算法·散列表
地平线开发者2 小时前
点云算法整理与常用计算模块:从数据到模型,再到工程与量化
算法·自动驾驶
武子康4 小时前
H3-World 为何在加载 LoRA 前,先检查导入的代码?
人工智能·深度学习·算法
秋天的怀念_David5 小时前
算法一千零一夜 · 第二十八夜 注册
java·程序人生·算法
NEFU_Jyj7 小时前
贝尔数(组合数学)
算法
希和20278 小时前
C语言程序设计题|有序数组插入数字冒泡排序
c语言·数据结构·算法
Pniubi8 小时前
力扣73 矩阵置零
算法·leetcode·矩阵
布莱克60518 小时前
C++ 中 map 的 insert 与 emplace:key 已存在时会覆盖吗?
开发语言·数据结构·c++·算法·map