Submission #155956

#TimeUsernameProblemLanguageResultExecution timeMemory
155956MinnakhmetovCATS (NOI14_cats)C++14
0 / 25
1546 ms1228 KiB
#include <bits/stdc++.h> #define ll long long #define all(aaa) aaa.begin(), aaa.end() using namespace std; struct MyStack { vector<int> v; int flip = 0; void push(int x) { v.push_back(x); } int pop() { if (!v.empty()) { int x = v.back(); v.pop_back(); return x; } return flip; } int top() { return v.empty() ? flip : v.back(); } }; signed main() { ios_base::sync_with_stdio(0); cin.tie(0); int q; cin >> q; while (q--) { ll x, l, n; cin >> x >> l >> n; MyStack s1, s2; bool ok = false; int counter = x; while (counter > 0) { s2.push(s1.pop()); for (int &i : s1.v) i ^= 1; s1.flip ^= 1; if (s2.top() > l) { ok = true; counter--; } else { if (ok) exit(1); if (s2.v.empty()) s2.v.push_back(2 * n); else s2.v.back() += 2 * n; s1.push(s2.top()); s1.push(s2.top()); s2.pop(); s2.pop(); } // for (int x : s1.v) // cout << x << " "; // cout << "\n"; // for (int x : s2.v) // cout << x << " "; // cout << "\n"; // cout << "\n"; } cout << s2.top() << "\n"; // COUNTER = X // WHILE COUNTER > 0 // S2 PUSH T1 //Push the top element of S1 onto S2 // S1 POP //Pop the top element of S1 // FLIP LAST BINARY BIT OF ALL NUMBERS IN S1 // IF T2 > L // COUNTER = COUNTER - 1 // IF COUNTER == 0 PRINT T2 // ELSE // S2 PUSH N // S2 PUSH N // S2 ADD // S2 ADD // S1 PUSH T2 // S1 PUSH T2 // S2 POP // S2 POP } return 0; }
#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...