Submission #532037

#TimeUsernameProblemLanguageResultExecution timeMemory
532037FoxyyFood Court (JOI21_foodcourt)C++17
2 / 100
1089 ms524292 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define Foxyy cin.tie(0); cout.tie(0); cout.sync_with_stdio(0); const int INF = 0x3f3f3f3f; mt19937 rng(chrono::steady_clock().now().time_since_epoch().count()); struct Solver { int &N, &M, &Q; vector<deque<int>> qu; Solver(int &_N, int &_M, int &_Q): N(_N), M(_M), Q(_Q) { qu.resize(N); } void enqueue(int L, int R, int C, int K) { for(int i = L; i < R; i++) { for(int k = 0; k < K; k++) { qu[i].push_back(C); } } } void dequeue(int L, int R, int K) { for(int i = L; i < R; i++) { for(int k = 0; k < K; k++) { if (qu[i].empty()) break; qu[i].pop_front(); } } } int query(int A, ll B) { if ((int)qu[A].size() >= B) { return qu[A][B-1]; } else { return 0; } } void solve() { while(Q--) { int T; cin >> T; if (T == 1) { int L, R, C, K; cin >> L >> R >> C >> K; enqueue(L-1, R, C, K); } else if (T == 2) { int L, R, K; cin >> L >> R >> K; dequeue(L-1, R, K); } else if (T == 3) { int A; ll B; cin >> A >> B; cout << query(A-1, B) << '\n'; } } } }; signed main() { Foxyy int N, M, Q; cin >> N >> M >> Q; Solver solver{N, M, Q}; solver.solve(); }
#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...