# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1155088 | jerzyk | Broken Device (JOI17_broken_device) | C++20 | 17 ms | 1556 KiB |
#include "Annalib.h"
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
#define st first
#define nd second
typedef long long ll;
typedef long double ld;
const ll I = 1000'000'000'000'000'000LL;
const int II = 2'000'000'000;
const ll M = 1000'000'007LL;
const int N = 200;
const int K = 10;
bool czy[N];
int ans[N];
void Anna(int _N, long long _X, int _K, int P[])
{
int n = _N, k = _K; ll x = _X;
for(int i = 1; i <= n; ++i)
{
ans[i] = 0;
czy[i] = 0;
}
for(int i = 0; i < k; ++i)
czy[P[i] + 1] = 1;
vector<int> t;
int il1 = 0;
for(int i = 0; i < K; ++i)
{
int a = (bool)((1LL<<(ll)i) & x);
il1 += a;
t.pb(a);
}
if(il1 >= K / 2) t.pb(0);
else t.pb(1);
for(int i = 0; i < K; ++i)
t[i] ^= t.back();
/*cerr << "A: \n";
for(int i = 0; i < (int)t.size(); ++i)
cerr << t[i] << " ";
cerr << "\n";*/
int i = 1;
for(int j = 0; j < (int)t.size(); ++j)
{
if(t[j] == 1 && !czy[i])
{
ans[i] = 1; ++i;
continue;
}
if(t[j] == 1)
++i;
while(czy[i + 1])
i += 2;
++i;
ans[i] = 1;
++i;
}
ans[i] = 1;
for(int j = 1; j <= n; ++j)
{
Set(j - 1, ans[j]);
}
}
#include "Brunolib.h"
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
#define st first
#define nd second
typedef long long ll;
typedef long double ld;
const ll I = 1000'000'000'000'000'000LL;
const int II = 2'000'000'000;
const ll M = 1000'000'007LL;
const int N = 1000'007;
const int K = 10;
long long Bruno( int _N, int A[])
{
int n = _N, il = 0; ll ans = 0LL;
vector<int> cur;
for(int i = 0; i < n && (int)cur.size() <= K; ++i)
{
if(A[i] == 1)
{cur.pb(1); continue;}
++il;
if(A[i + 1] == 1)
{
if(il % 2 == 1) cur.pb(0);
else cur.pb(1);
il = 0;
++i;
}
}
/*cerr << "B: \n";
for(int i = 0; i < (int)cur.size(); ++i)
cerr << cur[i] << " ";
cerr << "\n";*/
for(int i = 0; i < K; ++i)
{
cur[i] ^= cur.back();
ans += (1LL<<(ll)i) * (ll)cur[i];
}
return ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |