Submission #1077204

#TimeUsernameProblemLanguageResultExecution timeMemory
1077204kwongwengBroken Device (JOI17_broken_device)C++17
85 / 100
31 ms2724 KiB
#include "Annalib.h" #include <bits/stdc++.h> using namespace std; typedef vector<int> vi; typedef long long ll; typedef pair<int,int> ii; #define FOR(i,a,b) for(int i=a; i<b; i++) #define ROF(i,a,b) for(int i=a; i>=b; i--) #define pb push_back #define fi first #define se second void Anna( int N, long long X, int K, int P[] ){ vi pos(N); FOR(i,0,K) pos[P[i]]=1; for( int i = 0; i < N/2; i++ ){ if (pos[2*i]==1 || pos[2*i+1]==1 || X==0){ Set(2*i,0); Set(2*i+1,0); continue; } if (X%3==0){ Set(2*i,0); Set(2*i+1,1); } if (X%3==1){ Set(2*i,1); Set(2*i+1,0); } if (X%3==2){ Set(2*i,1); Set(2*i+1,1); } X /= 3; } }
#include "Brunolib.h" #include <bits/stdc++.h> using namespace std; typedef vector<int> vi; typedef long long ll; typedef pair<int,int> ii; #define FOR(i,a,b) for(int i=a; i<b; i++) #define ROF(i,a,b) for(int i=a; i>=b; i--) #define pb push_back #define fi first #define se second long long Bruno( int N, int A[] ){ ll val = 0; ll pos = 1; FOR(i,0,N/2){ int id = A[i*2]*2 + A[i*2+1] - 1; if (id==-1) continue; val += id * pos; pos *= 3; } return val; }
#Verdict Execution timeMemoryGrader output
Fetching results...