1.小明的彩灯
解题思路
直接暴力,按照题目要求做,用数组表示每灯的亮度,注意操作灯时数组下标减一,最后输出,小于0的输出0
#include <iostream>
using namespace std;
int main()
{
long long n,q;
cin>>n>>q;
long long a[n];
for(int i=0;i<n;i++)
{
cin>>a[i];
}
long long l,r,x;
for(int i=1;i<=q;i++)
{
cin>>l>>r>>x;
for(int j=l;j<=r;j++)
{
a[j-1]+=x;
}
}
for(int i=0;i<n;i++)
{
if(a[i]<0) cout<<0<<" ";
else cout<<a[i]<<" ";
}
return 0;
}
2.绝世武功
解题思路
unsigned long long 精度最高的数据类型,伤害成等差数列,用等差数列前n项和求解,Sn=(a1+an)*n/2,循环每次练功次数,累加每次练功伤害总和。
#include<bits/stdc++.h>
using namespace std;
int main()
{
unsigned long long n,m,sum=0;
cin>>n>>m;
unsigned long long l,r,s,e;
for(unsigned long long i=1;i<=m;i++)
{
cin>>l>>r>>s>>e;
sum+=(s+e)*(r-l+1)/2;
}
cout<<sum;
}