제출 #1233537

#제출 시각아이디문제언어결과실행 시간메모리
1233537rythm_of_knightDistributing Candies (IOI21_candies)C++17
3 / 100
5092 ms8264 KiB
#include "candies.h" #include <bits/stdc++.h> #define ar array #define all(x) x.begin(), x.end() using namespace std; 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 <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++) { for (int j = l[i]; j <= r[i]; j++) { s[j] += v[i]; s[j] = max(0, s[j]); s[j] = min(c[j], s[j]); } } 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...