Submission #1037068

#TimeUsernameProblemLanguageResultExecution timeMemory
1037068vjudge1Trading (IZhO13_trading)C++17
0 / 100
2083 ms1520 KiB
#include<bits/stdc++.h> using namespace std; #define bug(...) __f (#__VA_ARGS__, __VA_ARGS__) // #define int long long #define F first #define S second #define pb push_back #define vi vector <long long> #define pii pair <long long, long long> #define vpi vector <pii> #define vpp vector <pair <long long, pii>> #define mii map <long long, long long> #define mpi map <pii, long long> #define spi set <pii> #define endl "\n" #define sz(x) ((long long) x.size()) #define all(p) p.begin(), p.end() #define double long double #define que_max priority_queue <long long> #define que_min priority_queue <long long, vi, greater<long long>> #define print(a) for (auto x: a) cout << x << " "; cout << endl #define print1(a) for (auto x: a) cout << x.F << " " << x.S << endl #define print2(a, l, r) for (long long i = l; i < r; ++ i) cout << a[i] << " "; cout << endl #define GET(n, id) (!!(n & (1LL << id))) // lay bit thu id #define ON(n, id) (n | (1LL << id)) // bit thu id luon la 1 #define OFF(n, id) (n & ~(1LL << id)) // bit thu id luon la 0 #define BIT0(n, id) (n & (-1LL << (id + 1))) // chinh tat ca id bit dau thanh 0 (id >= 1) #define BIT0IJ(n, i, j) (n & ((-1LL << (j + 1)) | ((1LL << i) - 1))) // chinh tat ca bit tu i den j thanh 0 (id = 0, 1, ...) #define REPLACE_BIT(n, i, j, m) (BIT0IJ(n, i, j) | (m << i)) #define MSB(mask) 63 - __builtin_clzll(mask) // so bit 0 o cuoi #define LSB(mask) __builtin_ctzll(mask) // so bit 0 o dau #define ONE(mask) __builtin_popcountll(mask) // so bit bat #define mem(a, b) memset(a, b, sizeof(a)); #define ff(i, l, r) for (long long i = (long long) (l); i < (long long) (r); ++ i) #define fff(x, arr) for (auto &x: arr) #define umii unordered_map<long long, long long> #define np next_permutation #define respam srand(time(NULL) * 10000000 + rand()) #define Vo_Duyen signed main() template <typename Arg1> void __f (const char* name, Arg1 && arg1) {cout << name << " : " << arg1 << endl; } template <typename Arg1, typename... Args> void __f (const char* name, Arg1 && arg1, Args && ... args) { const char* comma = strchr (name + 1, ','); cout.write (name, comma - name) << " : " << arg1 << " | "; __f (comma + 1, args ...); } struct pair_hair {size_t operator()(const pii &p) const {return hash<int>()(p.F) ^ hash<int>()(p.S);}}; // const int mod = 1e8 + 7; const int mod = 3e5 + 3, mod1 = 1e4, mod2 = 82; int n, m; int st[mod * 4]; void ud(int id, int l, int r, int i, int u) { if (l > r || i < l || i > r) return; if (l == r) { st[id] = max(u, st[id]); return; } int m = l + r >> 1; ud(id << 1, l, m, i, u); ud(id << 1 | 1, m + 1, r, i, u); st[id] = max(st[id << 1], st[id << 1 | 1]); } int get(int id, int l, int r, int u, int v) { if (r < u || l > v) return 0; if (u <= l && r <= v) return st[id]; int m = l + r >> 1; return max(get(id << 1, l, m, u, v), get(id << 1 | 1, m + 1, r, u, v)); } void solve() { cin >> n >> m; while (m --) { int l, r, x; cin >> l >> r >> x; ff(i, 0, r - l + 1) ud(1, 1, n, l + i, x + i); } ff(i, 0, n) cout << get(1, 1, n, i + 1, i + 1) << " "; return; } Vo_Duyen { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int t = 1; // cin >> t; while (t --) solve(); return 0; }

Compilation message (stderr)

trading.cpp: In function 'void ud(int, int, int, int, int)':
trading.cpp:61:15: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   61 |     int m = l + r >> 1;
      |             ~~^~~
trading.cpp: In function 'int get(int, int, int, int, int)':
trading.cpp:70:15: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   70 |     int m = l + r >> 1;
      |             ~~^~~
#Verdict Execution timeMemoryGrader output
Fetching results...