Submission #1310104

#TimeUsernameProblemLanguageResultExecution timeMemory
1310104exoworldgdMachine (IOI24_machine)C++20
0 / 100
1 ms400 KiB
#include "machine.h" #include <bits/stdc++.h> #define exoworldgd cin.tie(0)->sync_with_stdio(0),cout.tie(0) using namespace std; using ll=long long; bool ok(int n,int a,int b,int c){ int mp[8]={}; for(int i=0;i<n+1;i++)if(i^a&&i^b&&i^c)for(int j=0;j<8;j++)mp[j]+=(i>>j)&1; for(int i:mp)if(i*2==n)return 0; return 1; } vector<int>find_permutation(int n){ vector<int>t; int yes=0; for(int i=0;i<n+1&&!yes;i++)for(int j=i+1;j<n+1&&!yes;j++)for(int k=j+1;k<n+1&&!yes;k++)if(ok(n,i,j,k)){ yes=1; for(int l=0;l<n+1;l++)if(l^i&&l^j&&l^k)t.push_back(l); } vector<int>t2=use_machine(t),perm; int mp1[33]={},mp2[33]={},x=0; for(int i:t)for(int j=0;j<30;j++)mp1[j]+=(i>>j)&1; for(int i:t2)for(int j=0;j<30;j++)mp2[j]+=(i>>j)&1; for(int i=0;i<30;i++)if(mp1[i]^mp2[i])x|=(1<<i); for(int&i:t2)i^=x; for(int i:t2)perm.push_back(lower_bound(t.begin(),t.end(),i)-t.begin()); return perm; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...