Submission

Status:
PPPPPPPPPP

Score: 100

User: SnowAveNode

Problemset: รหัสตัวเลข

Language: cpp

Time: 0.003 second

Submitted On: 2025-03-27 20:37:29

#include<bits/stdc++.h>
using namespace std;
int main() {
    int n, t; cin >> n >> t;
    vector<int> v(n);
    for(int i = 0; i < n; i++) {
        cin >> v[i];
    }

    vector<int> X(n,0);
    int currentY = 0;
    if(t == 1) {
        currentY = v[0];
        if(currentY == n + 1) {
            X[0] = 1;
        } else if(currentY == n - 1) {
            X[0] = 0;
        }

        for(int i = 1; i < n; i++) {
            if(v[i] == currentY + 1) {
                X[i] = 1;
                currentY ++;
            } else if(v[i] == currentY - 1) {
                X[i] = 0;
                currentY--;
            }
        }
    } else if(t == 2) {
        currentY = v[0];
        if(currentY == n + 1) {
            X[0] = 1;
        } else if(currentY == n - 1) {
            X[0] = 0;
        }
        
        for(int i = 1; i < n; i++) {
            int cand1 = 3*currentY + 1;
            int cand0 = 2*currentY - 1;
            if(v[i] == cand1) {
                X[i] = 1;
                currentY++;
            } else if(v[i] == cand0) {
                X[i] = 0;
                currentY--;
            }
        }
    }
    
    for(int bitIdx = 0; bitIdx < X.size(); bitIdx++) {
        cout << X[bitIdx];
        if(bitIdx < X.size() - 1) {
            cout << "\n";
        }
    }
}