# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1235483 | caacrugon | Broken Device (JOI17_broken_device) | C++20 | 11 ms | 1344 KiB |
#include "Annalib.h"
#include <bits/stdc++.h>
using namespace std;
void Anna( int N, long long X, int K, int P[] ){
vector<int> ln(N,0);
for(int i=0;i<K;i++){
ln[P[i]]=-1;
}
int o=0,u=0,z=0;
for( int i=0;i<N;i++){
if(u==1){
u=0;
ln[i]=1;
continue;
}else if(o==1){
o=0;
continue;
}
if(i+1<N && ln[i]==0 && ln[i+1]==-1){
bool esc=(X>>z)&1;
if(!esc){
z++;
ln[i]=1;
o=1;
}
}else if(i+1<N && ln[i]==0 && ln[i+1]==0){
bool esc=(X>>z)&1;
if(esc){
z++;
ln[i]=1;
u=1;
}else{
z++;
ln[i]=1;
o=1;
}
}
}
for(int i=0;i<N;i++){
if(ln[i]==0 || ln[i]==-1)Set( i, 0 );
else Set(i,1);
}
}
#include "Brunolib.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
long long Bruno( int N, int A[] ){
ll u=0;
vector<int> bits;
for(int i=0;i<N;i++){
if(u==1){
u=0;
continue;
}
if(i+1<N && bits[i]==1 && bits[i+1]==0){
bits.push_back(0);
u=1;
}else if(i+1<N && bits[i]==1 && bits[i+1]==1){
bits.push_back(1);
u=1;
}
}
ll x=0;
for(int i=bits.size()-1;i>=0;i--){
x=(x<<1)|bits[i];
}
return x;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |