Submission #440797

#TimeUsernameProblemLanguageResultExecution timeMemory
440797parsabahramiTrading (IZhO13_trading)C++17
100 / 100
306 ms12632 KiB
#include <bits/stdc++.h> using namespace std; typedef long long int ll; typedef pair<int, int> pii; #define SZ(x) (int) x.size() #define F first #define S second #define lc id << 1 #define rc lc | 1 const int N = 3e5 + 10, MOD = 1e9 + 7; int seg[N << 2], n, q; void upd(int ql, int qr, int x, int id = 1, int l = 1, int r = n + 1) { if (qr <= l || r <= ql) return; if (ql <= l && r <= qr) { seg[id] = max(seg[id], l - ql + x); return; } int md = (l + r) >> 1; upd(ql, qr, x, lc, l, md), upd(ql, qr, x, rc, md, r); } int get(int p, int id = 1, int l = 1, int r = n + 1) { if (r - l < 2) return seg[id]; int md = (l + r) >> 1; return max(seg[id] + p - l, p < md ? get(p, lc, l, md) : get(p, rc, md, r)); } int main() { fill(seg, seg + N * 4, -MOD); scanf("%d%d", &n, &q); for (; q; q--) { int l, r, x; scanf("%d%d%d", &l, &r, &x); upd(l, r + 1, x); } for (int i = 1; i <= n; i++) printf("%d ", max(0, get(i))); printf("\n"); return 0; }

Compilation message (stderr)

trading.cpp: In function 'int main()':
trading.cpp:32:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   32 |     scanf("%d%d", &n, &q);
      |     ~~~~~^~~~~~~~~~~~~~~~
trading.cpp:34:27: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   34 |         int l, r, x; scanf("%d%d%d", &l, &r, &x);
      |                      ~~~~~^~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...