1038: 算法提高 分苹果
时间限制: 1 Sec 内存限制: 256 MB提交: 10 解决: 4
[ 提交][ 状态][ 讨论版]
题目描述
小朋友排成一排,老师给他们分苹果。
小朋友从左到右标号1..N。有M个老师,每次第i个老师会给第Li个到第Ri个,一共Ri-Li+1个小朋友每人发Ci个苹果。
最后老师想知道每个小朋友有多少苹果。
输入
第一行两个整数N、M,表示小朋友个数和老师个数。
接下来M行,每行三个整数Li、Ri、Ci,意义如题目表述。
接下来M行,每行三个整数Li、Ri、Ci,意义如题目表述。
输出
一行N个数,第i个数表示第i个小朋友手上的水果。
样例输入
5 31 2 12 3 22 5 3
样例输出
1 6 5 3 3
提示
数据规模和约定
40%的数据,N、M≤1 000。
100%的数据,N、M≤100 000,1≤Li≤Ri≤N,0≤Ci≤100。
来源
#include<iostream>
#include<math.h>
#include<string>
using namespace std;
int main()
{
int n,m,s[100005]={0},l,r,c,i,j;
cin>>n>>m;
for(i=1;i<=m;i++)
{
cin>>l>>r>>c;
for(j=l;j<=r;j++)
s[j]+=c;
}
for(i=1;i<n;i++)
cout<<s[i]<<" ";
cout<<s[n];
return 0;
}