# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1235475 | caacrugon | Broken Device (JOI17_broken_device) | C++20 | 19 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;
z++;
if(!esc){
ln[i]=1;
o=1;
}
}else if(i+1<N && ln[i]==0 && ln[i+1]==0){
bool esc=(X>>z)&1;
z++;
if(esc){
ln[i]=1;
u=1;
}else{
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,x=0;
for(int i=N-1;i>=0;i--){
if(u==1){
u=0;
continue;
}
if(i-1>-1 && A[i]==1 && A[i-1]==1){
x=(x<<1)|1;
u=1;
}else if(i-1>-1 && A[i]==0 && A[i-1]==1){
x=(x<<1);
u=1;
}
}
return x;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |