347
Cerința
Se consideră un tablou unidimensional cu n elemente numere întregi, numerotate de la 1 la n, inițial toate nule. Asupra tabloului se fac m operații s d X cu semnificația: toate elementele cu indici cuprinși între s și d își măresc valoare cu X.
Să se afișeze tabloul după realizarea celor m operații.
Date de intrare
Programul citește de la tastatură numerele n m, iar apoi m triplete s d X, cu semnificația din enunț.
Date de ieșire
Programul va afișa pe ecran cele n elemente ale tabloului, separate prin exact un spațiu.
Restricții și precizări
1 ≤ n ≤ 200.0001 ≤ m ≤ 200.0001 ≤ s ≤ d ≤ n-1000 ≤ X ≤ 1000
Exemplu
Intrare
10 6 8 10 2 3 10 -3 5 9 7 5 5 5 6 7 2 1 1 -1
Ieșire
-1 0 -3 -3 9 6 6 6 6 -1
#include <bits/stdc++.h>
using namespace std;
int a[200001];
int main()
{
int n , m;
cin >> n >> m;
int st , dr , x;
for(int i = 1 ; i <= m ; ++i)
{
cin >> st >> dr >> x;
a[st]+=x , a[dr+1]-=x;
}
for(int i = 2 ; i <= n ; ++i)
a[i]+=a[i-1];
for(int i = 1 ; i <= n ; ++i)
cout << a[i] << ' ';
return 0;
}
Comentarii