Submission #540104

#TimeUsernameProblemLanguageResultExecution timeMemory
540104LittleCubeFood Court (JOI21_foodcourt)C++14
9 / 100
1094 ms89388 KiB
#include <bits/stdc++.h> #define ll long long #define pii pair<int, int> #define pll pair<ll, ll> #define F first #define S second using namespace std; int N, M, Q, seg[300005]; deque<int> dq[65005]; void modify(int mL, int mR, int K, int i = 1, int L = 1, int R = N) { if (R < mL || mR < L) return; if (L == R) { while (!dq[L].empty() && K--) dq[L].pop_front(); seg[i] = !dq[L].empty(); } else if (seg[i]) { int mid = (L + R) / 2; modify(mL, mR, K, i * 2, L, mid); modify(mL, mR, K, i * 2 + 1, mid + 1, R); seg[i] = seg[i * 2] | seg[i * 2 + 1]; } } void insert(int pos, int C, int i = 1, int L = 1, int R = N) { if (L == R) { dq[L].emplace_back(C); seg[i] = !dq[L].empty(); } else { int mid = (L + R) / 2; if (pos <= mid) insert(pos, C, i * 2, L, mid); else insert(pos, C, i * 2 + 1, mid + 1, R); seg[i] = seg[i * 2] | seg[i * 2 + 1]; } } signed main() { ios::sync_with_stdio(0), cin.tie(0); cin >> N >> M >> Q; for (int i = 1; i <= Q; i++) { ll T, L, R, C, K; cin >> T >> L >> R; if (T == 1) { cin >> C >> K; for (int j = L; j <= R; j++) insert(j, C); } else if (T == 2) { cin >> K; modify(L, R, K); } else if (T == 3) cout << (dq[L].size() >= R ? dq[L][R - 1] : 0) << '\n'; } }

Compilation message (stderr)

foodcourt.cpp: In function 'int main()':
foodcourt.cpp:69:35: warning: comparison of integer expressions of different signedness: 'std::deque<int>::size_type' {aka 'long unsigned int'} and 'long long int' [-Wsign-compare]
   69 |             cout << (dq[L].size() >= R ? dq[L][R - 1] : 0) << '\n';
      |                      ~~~~~~~~~~~~~^~~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...