Submission #869633

#TimeUsernameProblemLanguageResultExecution timeMemory
869633irmuunAncient Machine 2 (JOI23_ancient2)C++17
10 / 100
94 ms1404 KiB
#include<bits/stdc++.h> #include "ancient2.h" using namespace std; #define ll long long #define pb push_back #define ff first #define ss second #define all(s) s.begin(),s.end() #define rall(s) s.rbegin(),s.rend() string Solve(int n){ vector<int>a={1,1,2},b={2,1,2}; vector<int>A,B; for(int i=0;i<950;i++){ if(i<511/2){ A.pb(i*2+1); B.pb(i*2+2); } else{ A.pb(i); B.pb(i); } } int cur=0; string ans=""; for(int i=0;i<50;i++){ int q=Query(950,A,B); q++; q%=256; for(int j=7;j>=0;j--){ if(q&(1<<j)){ ans+='1'; } else{ ans+='0'; } } for(int j=511+i*8;j<511+i*8+8;j++){ swap(A[cur],A[j]); swap(B[cur],B[j]); cur=j; } } int m=3; for(int i=0;i<n;i++){ if(i>=400){ int q=Query(m,a,b); if(q==i+1){ ans+='0'; } else{ ans+='1'; } } a.insert(a.begin(),0); b.insert(b.begin(),0); for(auto &x:a){ x++; } for(auto &x:b){ x++; } m++; } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...