# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
313024 | 2020-10-15T01:49:32 Z | YJU | Broken Device (JOI17_broken_device) | C++14 | 0 ms | 0 KB |
#include<bits/stdc++.h> #pragma GCC optimize("unroll-loops,no-stack-protector") using namespace std; typedef long long ll; typedef long double ld; typedef pair<ll,ll> pll; const ll MOD=1e9+7; const ll MOD2=998244353; const ll N=4e5+5; const ll K=350; const ld pi=3.14159265359; const ll INF=(1LL<<40); #define SQ(i) ((i)*(i)) #define REP(i,n) for(ll i=0;i<n;i++) #define REP1(i,n) for(ll i=1;i<=n;i++) #define pb push_back #define mp make_pair #define X first #define Y second #define setp setprecision #define lwb lower_bound #define SZ(_a) (ll)_a.size() void Anna(ll n,ll x,ll k,ll *p){ bool vis[200]; memset(vis,0,sizeof(vis)); ll ti=0; REP(i,k)vis[p[i]]=1; for(int i=0;i<n;i++){ if(vis[i]||vis[i+1]||vis[i+2]||i+2>=n||ti>=60)continue; Set(i,1); if((x&(1LL<<ti)))Set(i+1,1); else Set(i+1,0); ti++; if((x&(1LL<<ti)))Set(i+2,1); else Set(i+2,0); ti++; i=i+2; } }