信息学奥赛一本通 4017:【GESP2309三级】小杨的储蓄 | 洛谷 B3867 [GESP202309 三级] 小杨的储蓄

【题目链接】

ybt 4017:【GESP2309三级】小杨的储蓄
洛谷 B3867 GESP202309 三级 小杨的储蓄

【题目难度】E

【题目考点】

1. 一维数组

【解题思路】

设 m m m数组,m[i]表示第 i i i号储钱罐保存的钱数,储钱罐的编号从0到 n − 1 n-1 n−1。

题目给定了 n ≤ 1000 n\le 1000 n≤1000,所以数组长度设为1005.

一开始每个储钱罐中都只有0元,因此数组 m m m的各元素初值为0。

第 i i i天会向第 a a a个储钱罐存 i i i元钱,因此要让第 a a a个储钱罐的钱数增加 i i i,即m[a] += i。

最后依次输出第0到第n-1个储钱罐保存的钱数。

【题解代码】

解法1:一维数组
cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int n, d, a, m[1005];//m[i]:第i号储钱罐存的钱 
int main()
{
	cin >> n >> d;
	for(int i = 1; i <= d; ++i)
	{
		cin >> a;
		m[a] += i;
	}
	for(int i = 0; i < n; ++i)
		cout << m[i] << ' ';
    return 0;
}
相关推荐
chenbingjie_c1 小时前
C++ 进阶核心知识点总结:模板、内存分区、new/delete、内存池
开发语言·c++
专注仿真2 小时前
ACM算法
算法·深度优先
Frank_refuel3 小时前
【C++】Json库介绍和使用
c++
重生之小比特3 小时前
【C++进阶】map和set
java·开发语言·c++
知识分享小能手4 小时前
C++ 学习教程,从入门到精通,C++对象和类 — 详细知识点总结(10)
开发语言·c++·学习
顺顺 尼5 小时前
linux 进程信号(上)
linux·c++·算法
罗西的思考5 小时前
[Agent Memory / 强化学习] MemPO源码学习笔记 ---(5)--- GRPO
人工智能·算法·机器学习
richard_yuu5 小时前
动态规划:强化学习的「数学基础」,从 MDP 到值迭代
深度学习·神经网络·算法·yolo·机器学习·动态规划
mmmmath_35 小时前
LeetCode.225.用队列实现栈
算法
Elaine3365 小时前
数据结构与算法-程序
数据结构·python·算法·计算机基础·编程基础