Submission #1233538

#TimeUsernameProblemLanguageResultExecution timeMemory
1233538rythm_of_knightDistributing Candies (IOI21_candies)C++17
8 / 100
62 ms9800 KiB
#include "candies.h" #include <bits/stdc++.h> #define ar array #define all(x) x.begin(), x.end() using namespace std; typedef long long ll; struct segtree { vector <ar <int, 2>> t; int n; void init(int sz) { n = sz, sz += 5; t.assign(sz << 2, {0, 0}); } void ontop(ar <int, 2> a, ar <int, 2> b) { ar <int, 2> res = a; if (a[0] == 0) { if (b[0] == 2) { if (b[1] > 0) { res = {3, b[1]}; } } else { res = b; } } else if (a[0] == 1) { if (b[0] == 2) { if (b[1] < 0) { res = {4, b[1]}; } } else { res = b; } } else if (a[0] == 2) { if (b[0] == 2) { res[1] += b[1]; } else { res = b; } } else if (a[0] == 3) { if (b[0] == 2) { if (a[1] + b[1] <= 0) res = {0, 0}; else res[1] += b[1]; } else { res = b; } } else { // if (b[0] == 2) { // if () // } else { // res = b; // } } } void push(int v, int l, int r) { } int ql, qr, qi, qx, qt; void update(int v, int l, int r) { if (ql <= l && r <= qr) { } } }; vector<int> distribute_candies(vector<int> c, vector<int> l, vector<int> r, vector<int> v) { int n = c.size(), q = l.size(); vector <int> s(n), b(n); vector <ll> p(n + 1); // vector <ar <int, 2>> a(n); // for (int i = 0; i < n; i++) // a[i] = {c[i], i}; // sort(all(a)); for (int i = 0; i < q; i++) { p[l[i]] += v[i]; p[r[i] + 1] -= v[i]; } for (int i = 1; i < n; i++) p[i] += p[i - 1]; for (int i = 0; i < n; i++) s[i] = min(p[i], (ll)c[i]); return s; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...