Submission #644629

#TimeUsernameProblemLanguageResultExecution timeMemory
644629ymm운세 보기 2 (JOI14_fortune_telling2)C++17
4 / 100
2593 ms668 KiB
#include <bits/stdc++.h> #define Loop(x,l,r) for (ll x = (l); x < (r); ++x) #define LoopR(x,l,r) for (ll x = (r)-1; x >= (l); --x) typedef long long ll; typedef std::pair<int, int> pii; typedef std::pair<ll , ll > pll; using namespace std; const int N = 200'032; const int S = 1024; int a[N], b[N]; int q[N]; int n; __attribute__((optimize("O3,unroll-loops"),target("avx"))) void up(int x, int y, int z, int l, int r) { Loop (i,0,n) { a[i] ^= a[i] <= x? b[i]: 0; a[i] ^= a[i] <= y? b[i]: 0; a[i] ^= a[i] <= z? b[i]: 0; } } int main() { cin.tie(0) -> sync_with_stdio(false); int k; cin >> n >> k; Loop (i,0,n) { cin >> a[i] >> b[i]; b[i] ^= a[i]; } Loop (i,0,k) cin >> q[i]; for (int l = 0; l < n; l += S) { int r = min(n, l+S); for (int i = 0; i < k; i += 3) up(q[i+0], q[i+1], q[i+2], l, r); } ll ans = 0; Loop (i,0,n) ans += a[i]; cout << ans << '\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...