제출 #51374

#제출 시각아이디문제언어결과실행 시간메모리
51374KubalionzzaleCATS (NOI14_cats)C++14
0 / 25
2 ms568 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";
            }
            break;
        }

        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...