C++课后习题训练记录Day85

1.练习项目:

问题描述

给定一个长度为 nn 的数组 a[1],a[2],...,a[n]。 同时给定 m 个操作,每个操作有三个整形数据 x,y,z。 每个操作的意义就是给数组中下标为 x 与下标为 y 之间(包括 x,y)的元素的值加上 z。

输入格式

输入有多组数据,数据组数不大于 5。 每一组数据第一行有两个整数 n,m(0<n,m<105) 。 第二行有 n 个整数,分别代表 a[1],a[2],...,a[n](0≤a[i]<10)的初始值。 接下来就 m 行,每一行有 3 个整数 x,y,z(0<x≤y≤n,0<z<10)。

输出格式

在一行内输出这个序列的所有元素的值,并且每个值之间应该以空格隔开。

2.选择课程

在蓝桥云课中选择题库,选择题号3291并开始练习。

3.开始练习

(1)源码:

#include<bits/stdc++.h>

const int N=1e5+9;

using namespace std;

int a[N],diff[N];

int main(){

ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);

int n,m;

while(cin>>n>>m){

for(int i=1;i<=n;i++)

cin>>a[i];

for(int i=1;i<=n;i++)

diff[i]=a[i]-a[i-1];

while(m--){

int x,y,z;

cin>>x>>y>>z;

diff[x]+=z;

diff[y+1]-=z;

}

for(int i=1;i<=n;i++)

a[i]=diff[i]+a[i-1];

for(int i=1;i<=n;i++)

cout<<a[i]<<' ';

cout<<endl;

}

return 0;

}

(2)检验结果

对此代码进行检验,检验后无报错,提交此代码,判题结果为正确100分。

(3)练习心得:注意每段代码末尾的分号是否存在,如不存在则需即使补充;输入法是否切换为英语模式;语法是否错误。

相关推荐
Lhan.zzZ7 小时前
笔记_2026.4.28_004
c++·ide·笔记·qt
MATLAB代码顾问8 小时前
5大智能算法优化标准测试函数对比(Python实现)
开发语言·python
wuminyu9 小时前
专家视角看Java字节码加载与存储指令机制
java·linux·c语言·jvm·c++
万粉变现经纪人9 小时前
如何解决 pip install llama-cpp-python 报错 未安装 CMake/Ninja 或 CPU 不支持 AVX 问题
开发语言·python·开源·aigc·pip·ai写作·llama
清风明月一壶酒10 小时前
OpenClaw自动处理Word文档全流程
开发语言·c#·word
其实防守也摸鱼10 小时前
CTF密码学综合教学指南--第五章
开发语言·网络·笔记·python·安全·网络安全·密码学
木喃的井盖10 小时前
无锁队列细节
c++·工程
王老师青少年编程10 小时前
csp信奥赛C++高频考点专项训练之字符串 --【字符串基础】:输出亲朋字符串
c++·字符串·csp·高频考点·信奥赛·专项训练·输出亲朋字符串
MediaTea10 小时前
AI 术语通俗词典:C4.5 算法
人工智能·算法
Navigator_Z10 小时前
LeetCode //C - 1033. Moving Stones Until Consecutive
c语言·算法·leetcode