Submission #51375

#TimeUsernameProblemLanguageResultExecution timeMemory
51375KubalionzzaleCATS (NOI14_cats)C++14
0 / 25
354 ms2376 KiB
#include <iostream> #include <stack> int main() { int q; std::cin >> q; while (q--) { long long int x, l, n; std::cin >> x >> l >> n; n *= 2; long long int dis = ((l / n) + 1) * n; if (n == 4) { int cur = dis % 9; if (cur == 0 || cur == 3 || cur == 5 || cur == 6) { std::cout << dis << "\n"; } else { std::cout << dis + 1 << "\n"; } continue; } if (x % 4 == 0 || x % 4 == 3) { std::cout << dis << "\n"; } else { std::cout << dis + 1 << "\n"; } n /= 2; std::stack<int> s1; int flipped = 0; int t2 = 0; s1.push(0); s1.push(0); int counter = x; while (counter > 0) { t2 = s1.top() ^ flipped; if (t2 > 1) s1.pop(); flipped = !flipped; if (t2 > l) { --counter; std::cout << t2 << " "; if (counter == 0) { std::cout << "\n"; break; } } else { s1.push((t2 + 2 * n) ^ flipped); s1.push((t2 + 2 * n) ^ flipped); } } } }
#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...