Submission #1262147

#TimeUsernameProblemLanguageResultExecution timeMemory
1262147Szymon_PilipczukBroken Device (JOI17_broken_device)C++20
8 / 100
19 ms1548 KiB
#include "Annalib.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef unsigned long long ull; #define st first #define nd second #define pb push_back #define all(a) a.begin(),a.end() #define rep(a,b) for(int a = 0;a<b;a++) const int inf = 1e9; const ll infl = 1e18; void Anna(int n, ll x,int k,int cc[]) { int j = 0; vector<int> p; rep(i,k) { p.pb(cc[i]); } p.pb(inf); for(int i = 0;i<n;i+=3) { vector<int> val(3,0); if(p[j] == i) { j++; if(p[j] != i+1 && p[j] != i+2) { if(x%2 == 0) { val[2] = 1; } else { val[1] = 1; val[2] = 1; } x/=2; } } else if(p[j] == i+1) { j++; if(p[j] != i+2) { if(x%2 == 0) { val[2] = 1; } else { val[0] = 1; } x/=2; } } else if(p[j] == i+2) { if(x%4 == 0) { val[1] = 1; x/=4; } else if(x%4 == 2) { val[0] = 1; val[1] = 1; x/=4; } else { val[0] = 1; x/=2; } } else { if(x%4 == 0) { val[1] = 1; } else if(x%4 == 1) { val[0] = 1; val[2] = 1; } else if(x%4 == 2) { val[0] = 1; val[1] = 1; } else { val[0] = 1; val[1] = 1; val[2] = 1; } x/=4; } while(p[j] < i + 3) j++; rep(q,3) { Set(i+q,val[q]); } } }
#include "Brunolib.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef unsigned long long ull; #define st first #define nd second #define pb push_back #define all(a) a.begin(),a.end() #define rep(a,b) for(int a = 0;a<b;a++) const int inf = 1e9; const ll infl = 1e18; ll Bruno(int n,int a[]) { int j = 0; ll ans = 0; for(int i = 0;i<n;i+=3) { int val = 4 * a[i] + 2 * a[i+1] + a[i+2]; if(val == 1) { j++; } else if(val == 2) { j+=2; } else if(val == 3) { ans += (1LL<<j); j++; } else if(val == 4) { ans += (1LL<<j); j++; } else if(val == 5) { ans += (1LL<<j); j+=2; } else if(val == 6) { ans += (1LL<<j) * 2; j+=2; } else { ans += (1LL<<j) * 3; j+=2; } } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...