信息学奥赛一本通 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;
}
相关推荐
j_xxx404_5 小时前
Linux:静态链接与动态链接深度解析
linux·运维·服务器·c++·人工智能
昵称小白5 小时前
复杂度分析方法
算法
科研前沿5 小时前
2026 数字孪生前沿科技:全景迭代报告 —— 镜像视界生成式孪生(Generative DT)技术白皮书
大数据·人工智能·科技·算法·音视频·空间计算
c++之路6 小时前
C++23概述
java·c++·c++23
学涯乐码堂主7 小时前
有趣的“打擂台算法”
c++·算法·青少年编程·gesp
Tutankaaa8 小时前
知识竞赛题库设计全攻略
人工智能·算法
云栖梦泽8 小时前
Linux内核与驱动:14.SPI子系统
linux·运维·服务器·c++
WolfGang0073218 小时前
代码随想录算法训练营 Day50 | 图论 part08
数据结构·算法·图论
Gary Studio8 小时前
安卓HAL C++基础-智能指针
开发语言·c++
还是阿落呀8 小时前
基本控制结构2
c++