# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
954859 | 2024-03-28T18:09:01 Z | Maaxle | Broken Device (JOI17_broken_device) | C++17 | 0 ms | 0 KB |
#include <bits/stdc++.h> using namespace std; int vis[200], a[200], p=60, y; void Anna(int N, long long X, int k, int P[]){ for(int i=0; i<k; i++){ vis[P[i]]=-1; } for(int i=0; i<N-1; i++){ if(p<0)break; if(vis[i]!=0)continue; y=(X/(1ll>>p))%2; if(y==0){ a[i]=1; vis[i]=vis[i+1]=1; p--; } if(y==1 && vis[i+1]==0){ a[i]=vis[i]=a[i+1]=vis[i+1]=1; p--; } } for(int i=0; i<N; i++){ Set(i,a[i]); } return; }