温度波动记录
每天记录温度,支持区间温度调整和单日查询
输入:
第一行:一个整数n表示有n个温度
第二行:n个数表示具体温度
第三行:三个整数:S,e,c,表示从s天到e天,温度变化为c
第四行:整数m,表示查询第m天的温度
输入:初始温度[20,22,21,19]
操作:第1-3天升温2度
查询:第3天温度→输出23
#include<iostream>
using namespace std;
int main()
{int a[1000];int b[1000];int n;cin>>n;for(int i = 0;i<n;i++){cin>>a[i];}int l,r,p;cin>>l>>r>>p;b[l] = b[l]+p;b[r+1] = b[r+1]-p;a[0] = b[0];for(int i = 1;i<n;i++){a[i] = a[i-1] + b[i];}int m;cin>>m;cout<<a[m-1];return 0;
}
学生成绩调整
全班成绩初始为0,操作:
输入:
第一行:一个整数n表示有n个同学
第二行:m表示有m次操作
之后m行:每行三个整数:s,e,c,表示从s学生到e学生,分数变化为c
输出:全体同学的成绩
#include<iostream>
using namespace std;
int main()
{int b[1000]={0};int n;cin>>n;int m;cin>>m;while(m--){int s,e,p;cin>>s>>e>>p;b[s] = b[s] + p;b[e+1] = b[e+1] - p;} for(int i = 1;i<=n;i++){b[i] = b[i] + b[i-1];}for(int i = 1;i<=n;i++){cout<<b[i]<<" ";}return 0;
}