제출 #1228763

#제출 시각아이디문제언어결과실행 시간메모리
1228763PenguinsAreCuteBroken Device (JOI17_broken_device)C++17
0 / 100
0 ms320 KiB
#include "Annalib.h" #include <bits/stdc++.h> using namespace std; void Anna( int N, long long X, int K, int P[] ){ int perm[N]; iota(perm,perm+N,0); mt19937 rng(42069); shuffle(perm,perm+N,rng); int inv[N]; for(int i=0;i<N;i++) inv[perm[i]] = i; int cnt = 0; for(int i=0;i<=K;i++) { int l = (i ? inv[P[i-1]] + 1 : 0); int r = (i < K ? inv[P[i]] - 1 : N - 1); if(l > r) continue; while(l + 2 <= r) { Set(perm[l], 1); Set(perm[l + 1], !!(X & (1LL << (cnt++)))); Set(perm[l + 2], !!(X & (1LL << (cnt++)))); l += 3; } while(l <= r) Set(perm[l++], 0); } for(int i=0;i<K;i++) Set(P[i], 0); }
#include "Brunolib.h" #include <bits/stdc++.h> using namespace std; long long Bruno( int N, int A[] ){ int perm[N]; iota(perm,perm+N,0); mt19937 rng(42069); shuffle(perm,perm+N,rng); long long X = 0; int cnt = 0; for(int i=0;i<N;) { if(A[perm[i]]) { X |= A[perm[i+1]] * (1LL << (cnt++)); X |= A[perm[i+2]] * (1LL << (cnt++)); i += 3; } else i++; } return X; }
#Verdict Execution timeMemoryGrader output
Fetching results...