답안 #155958

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
155958 2019-10-02T09:12:23 Z Minnakhmetov CATS (NOI14_cats) C++14
0 / 25
76 ms 6264 KB
#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();
    }
 
    void add() {
        push(pop() + pop());
    }
};
 
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;

        ll ans = 2 * (l / (n << 1) + 1) * n;

        x--;
        if (x % 4 == 1 ||
            x % 4 == 2)
            ans ^= 1;
        cout << ans << "\n";
        // MyStack s1, s2;
 
        // int counter = x, j = 0, gg = 0;
        // while (counter > 0) {
        //     s2.push(s1.pop());
        //     for (int &i : s1.v)
        //         i ^= 1;
        //     s1.flip ^= 1;

        //     // cout << "s1 : ";
        //     // for (int x : s1.v) {
        //     //     cout << x / n << "n";
        //     //     if (x % 2)
        //     //         cout << "^1";
        //     //     cout << ", ";
        //     // }
        //     // cout << "\n";
        //     // cout << "T2 = ";
        //     int x = s2.v.back();
        //     cout << x / n << "\n";
        //     // if (x % 2)
        //     //     cout << "^1";

        //     if (s2.top() > l) {
        //         counter--;
        //         // if (counter == 0)
        //         //     cout << s2.top() << "\n";
        //     }
        //     else {
        //         s2.push(n);
        //         s2.push(n);
        //         s2.add();
        //         s2.add();
        //         s1.push(s2.top());
        //         s1.push(s2.top());
        //         s2.pop();
        //         s2.pop();
        //     }
        // }
 
        // 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;
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 376 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 256 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 376 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 376 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 7 ms 632 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 76 ms 6264 KB Output isn't correct
2 Halted 0 ms 0 KB -