# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1154738 | WongYiKai | Broken Device (JOI17_broken_device) | C++20 | 0 ms | 320 KiB |
#include "Annalib.h"
#include <bits/stdc++.h>
using namespace std;
void Anna( int N, long long X, int K, int P[] ){
if (K>0) Set(-100,1);
int block[N+5],done[N+5];
memset(block,0,sizeof(block));
memset(done,0,sizeof(done));
for (int i=0;i<K;i++) block[P[i]] = 1;
vector<int> e;
for (int i=0;i<N-1;i++){
if (block[i]==0 && block[i+1]==0){
e.push_back(i);
i += 1;
}
}
int ind = 0;
while (X>0){
if (X&1){
Set(e[ind],1);
Set(e[ind]+1,1);
done[e[ind]] = 1;
done[e[ind]+1] = 1;
}
else{
Set(e[ind],1);
Set(e[ind]+1,0);
done[e[ind]] = 1;
done[e[ind]+1] = 1;
}
ind++;
X = X>>1;
}
for (int i=0;i<N;i++){
if (done[i]==0) Set(i,0);
}
}
#include "Brunolib.h"
#include <bits/stdc++.h>
using namespace std;
long long Bruno( int N, int A[] ){
long long ans = 0;
int curr = 0;
for (int i=0;i<N-1;i++){
if (A[i]==1){
if (A[i+1]==1){
ans += (1<<curr);
}
curr++;
i++;
}
}
return curr;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |