Submission #351871

#TimeUsernameProblemLanguageResultExecution timeMemory
351871juggernautParrots (IOI11_parrots)C++14
96 / 100
10 ms1592 KiB
#include"encoder.h" #include"encoderlib.h" #include<bits/stdc++.h> using namespace std; void encode(int n,int a[]){ int xr=time(NULL)%256; if(n<=32){ for(int i=0;i<n;i++) for(int j=0;j<8;j++) if(a[i]>>j&1) send((i<<3)|j); }else{ for(int i=0;i<n;i++){ a[i]^=xr; while(a[i]>63)send((i<<2)|3),a[i]-=64; while(a[i]>15)send((i<<2)|2),a[i]-=16; while(a[i]>3)send((i<<2)|1),a[i]-=4; while(a[i]>0)send((i<<2)|0),a[i]-=1; } } }
#include"decoder.h" #include"decoderlib.h" #include<bits/stdc++.h> using namespace std; int res[64]; void decode(int n,int m,int a[]){ int xr=time(NULL)%256; for(int i=0;i<n;i++)res[i]=0; if(n<=32){ for(int i=0;i<m;i++)res[a[i]>>3]|=(1<<(a[i]&7)); }else{ for(int i=0;i<m;i++){ int data=a[i]&3; if(data==0)res[a[i]>>2]+=1; if(data==1)res[a[i]>>2]+=4; if(data==2)res[a[i]>>2]+=16; if(data==3)res[a[i]>>2]+=64; } for(int i=0;i<n;i++)res[i]^=xr; } for(int i=0;i<n;i++)output(res[i]); }
#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...