# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
549265 | 2022-04-15T13:14:29 Z | brunnorezendes | Broken Device (JOI17_broken_device) | C++14 | 0 ms | 0 KB |
#include <bits/stdc++.h> #include "Annalib.h" using namespace std; typedef long long int ll; typedef vector <int> vi; void Anna(int n, ll x, int k, vi p){ int cont=0, i, bits=0; for(i=0;i<n;i++){ if(cont<k && p[cont]==i){ cont++; Set(i, 0); continue; } if((1<<bits)>x) continue; if(x&(1<<bits)){ if(cont<k && p[cont]==i+1){ Set(i, 0); continue; } else{ Set(i, 1); if(i<n-1) Set(i+1, 1); i++; } } else{ Set(i, 1); if(i<n-1) Set(i+1, 0); if(cont<k && p[cont]==i+1) cont++; i++; } bits++; } }