Submission #962940

#TimeUsernameProblemLanguageResultExecution timeMemory
962940MalixParrots (IOI11_parrots)C++14
88 / 100
8 ms1552 KiB
#include <bits/stdc++.h> #include "encoder.h" #include "encoderlib.h" using namespace std; typedef long long ll; typedef vector<int> vi; typedef vector<vi> vii; typedef pair<int,int> pi; #define REP(i,a,b) for(int i=a;i<b;i++) #define F first #define S second #define PB push_back #define MP make_pair void encode(int N, int M[]) { if(N<=32){ REP(i,0,N){ int k=i<<3; REP(j,0,8){ int t=M[i]&(1<<j); if(t!=0){ send(k+j); } } } } else{ REP(i,0,N){ int k=i<<2; REP(j,0,4){ int t=M[i]&(1<<j); if(t!=0){ send(k+j); } } REP(j,4,8){ int t=M[i]&(1<<j); if(t!=0){ send(k+j-4); send(k+j-4); } } } } }
#include <bits/stdc++.h> #include "decoder.h" #include "decoderlib.h" using namespace std; typedef long long ll; typedef vector<int> vi; typedef vector<vi> vii; typedef pair<int,int> pi; #define REP(i,a,b) for(int i=a;i<b;i++) #define F first #define S second #define PB push_back #define MP make_pair void decode(int N, int L, int X[]) { vi a(L); REP(i,0,L)a[i]=X[i]; sort(a.begin(),a.end()); if(N<=32){ REP(i,0,N){ int k=i<<3; int ans=0; REP(j,0,8){ bool flag=binary_search(a.begin(),a.end(),k+j); if(flag)ans|=(1<<j); } output(ans); } } else{ REP(i,0,N){ int k=i<<2; int ans=0; REP(j,0,4){ int c=upper_bound(a.begin(),a.end(),k+j)-lower_bound(a.begin(),a.end(),k+j); if(c%2==1)ans|=(1<<j); if(c>1)ans|=(1<<(j+4)); } output(ans); } } }
#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...