fork download
  1. // SIGMA BOY hihihihihihihi
  2.  
  3. #define se second
  4. #define fi first
  5. #define pb push_back
  6. #define pob pop_back
  7. #define bitebi __builtin_popcountll
  8. #include <bits/stdc++.h>
  9.  
  10. using namespace std ;
  11. typedef long long ll;
  12. typedef long double ld;
  13. typedef pair<int,int> pii;
  14. typedef pair<ll,ll> pll;
  15.  
  16. const ll Mod = 1e9+7;
  17. const ll Maxn = 1e6+1;
  18. const ll oo = 1e18;
  19.  
  20. ll n , m , k , a[Maxn], df[Maxn], df2[Maxn];
  21.  
  22. struct T
  23. {
  24. ll l,r,d,cnt;
  25. }f[Maxn];
  26.  
  27. void Do()
  28. {
  29. cin >> n >> m >> k ;
  30. for (int i = 1 ; i <= n ; ++i)
  31. {
  32. cin >> a[i];
  33. df[i] = a[i]-a[i-1];
  34. }
  35. for (int i = 1 ; i <= m ; ++i)
  36. cin >> f[i].l >> f[i].r >> f[i].d;
  37.  
  38. for (int i = 1 ; i <= k ; ++i)
  39. {
  40. int x , y ;
  41. cin >> x >> y;
  42. df2[y+1]--;
  43. df2[x]++;
  44. }
  45. for (int i = 1 ; i <= m ; ++i)
  46. {
  47. f[i].cnt = f[i-1].cnt + df2[i];
  48. // cnt[i]: So lan hanh dong cua truy van thu i
  49. int l = f[i].l;
  50. int r = f[i].r;
  51. int d = f[i].d;
  52. df[l] += d*f[i].cnt;
  53. df[r+1] -= d*f[i].cnt;
  54. }
  55.  
  56. for (int i = 1 ; i <= n ; ++i)
  57. {
  58. a[i] = a[i-1] + df[i];
  59. cout << a[i] << ' ' ;
  60. }
  61.  
  62. }
  63.  
  64. signed main ()
  65. {
  66. ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  67. #define task "test"
  68. if(fopen(task".inp", "r")){
  69. freopen(task".inp", "r", stdin);
  70. freopen(task".out", "w", stdout);
  71. }
  72. int ntest=1;
  73. while(ntest--) Do();
  74.  
  75. cerr<<"\nTime elapsed: "<<1000*clock()/CLOCKS_PER_SEC<<"ms\n";
  76. }
  77.  
Success #stdin #stdout #stderr 0s 5320KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
Time elapsed: 4ms