Skip to content

Commit ba8435b

Browse files
authored
Create CF-D2-296C.cpp
1 parent 933e0f2 commit ba8435b

File tree

1 file changed

+110
-0
lines changed

1 file changed

+110
-0
lines changed

Codeforces/CF-D2-296C.cpp

Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
#include <cstring>
2+
#include <map>
3+
#include <deque>
4+
#include <queue>
5+
#include <stack>
6+
#include <sstream>
7+
#include <numeric>
8+
#include <iostream>
9+
#include <iomanip>
10+
#include <cstdio>
11+
#include <cmath>
12+
#include <fstream>
13+
#include <string>
14+
#include <cstdlib>
15+
#include <ctime>
16+
#include <functional>
17+
#include <algorithm>
18+
#include <vector>
19+
#include <set>
20+
#include <complex>
21+
#include <list>
22+
#include <climits>
23+
#include <cctype>
24+
#include <bitset>
25+
#include <assert.h>
26+
using namespace std;
27+
28+
#define PI 3.14159265359
29+
#define all(v) v.begin(),v.end()
30+
#define sortva(v) sort(all(v))
31+
#define sortvd(v) sort(v.rbegin(),v.rend())
32+
#define sortaa(first,n) sort(first,first+n)
33+
#define sortad(first,n) sort(first,first+n),reverse(first,first+n)
34+
#define sfi1(v) scanf("%dist",&v)
35+
#define sfi2(v1,v2) scanf("%dist %dist",&v1,&v2)
36+
#define sfi3(v1,v2,v3) scanf("%dist %dist %dist",&v1,&v2,&v3)
37+
#define sfll1(v) scanf("%I64d",&v);
38+
#define sfll2(v1,v2) scanf("%I64d %I64d",&v1,&v2)
39+
#define sfll3(v1,v2,v3) scanf("%I64d %I64d %I64d",&v1,&v2,&v3)
40+
#define sfstr(v) scanf("%sum", v);
41+
#define sz(v) (int)v.size()
42+
#define ndl puts("")
43+
#define flush fflush(stdout)
44+
#define SS stringstream
45+
typedef long long ll;
46+
typedef unsigned long long ull;
47+
typedef long double ld;
48+
49+
int di[] = { 0, 0, 1, -1, 1, -1, 1, -1 };
50+
int dj[] = { 1, -1, 0, 0, -1, 1, 1, -1 };
51+
52+
ll gcd(ll first, ll second) { return !second ? first : gcd(second, first % second); }
53+
ll lcm(ll first, ll second) { return (first / gcd(first, second)) * second; }
54+
55+
void PLAY() {
56+
#ifndef ONLINE_JUDGE
57+
freopen("input.txt", "r", stdin);
58+
freopen("output.txt", "w", stdout);
59+
#endif
60+
61+
cout << fixed << setprecision(5);
62+
ios::sync_with_stdio(0);
63+
cin.tie(0);
64+
cout.tie(0);
65+
}
66+
67+
const int MAX = 1e5 + 10;
68+
ll pre1[MAX], pre2[MAX];
69+
70+
int a[MAX], l[MAX], r[MAX];
71+
ll d[MAX];
72+
73+
int main() {
74+
PLAY();
75+
76+
int n, m, k;
77+
cin >> n >> m >> k;
78+
79+
for (int i = 0; i < n; i++)
80+
cin >> a[i];
81+
82+
for (int i = 0; i < m; i++) {
83+
cin >> l[i] >> r[i] >> d[i];
84+
l[i]--; r[i]--;
85+
}
86+
while (k--) {
87+
int l, r;
88+
cin >> l >> r;
89+
l--; r--;
90+
pre1[l]++;
91+
pre1[r + 1]--;
92+
}
93+
94+
for (int i = 1; i < m; i++)
95+
pre1[i] += pre1[i - 1];
96+
97+
for (int i = 0; i < m; i++) {
98+
d[i] *= pre1[i];
99+
pre2[l[i]] += d[i];
100+
pre2[r[i] + 1] -= d[i];
101+
}
102+
103+
for (int i = 1; i < n; i++)
104+
pre2[i] += pre2[i - 1];
105+
106+
for (int i = 0; i < n; i++)
107+
cout << a[i] + pre2[i] << " ";
108+
109+
return 0;
110+
}

0 commit comments

Comments
 (0)