Submission #351985

# Submission time Handle Problem Language Result Execution time Memory
351985 2021-01-20T10:28:07 Z juggernaut Parrots (IOI11_parrots) C++14
99 / 100
69 ms 1448 KB
#include"encoder.h"
#include"encoderlib.h"
#include<bits/stdc++.h>
using namespace std;
void encode(int n,int a[]){
    vector<int>best(n*15,0);
    int sig;
    for(int xr=0;xr<256;xr++){
        vector<int>vec;
        for(int i=0;i<n;i++){
            int x=a[i]^xr;
            for(int j=0;j<8;j++)
				  if(x>>j&1){
				  	if(j%2==1)vec.push_back((i<<2)|(j>>1));
					vec.push_back((i<<2)|(j>>1));
				}
        }
        if(vec.size()<best.size())best=vec,sig=xr;
    }
    for(auto to:best)send(to);
    for(int i=0;i<4;i++)send(sig);
}
#include"decoder.h"
#include"decoderlib.h"
#include<bits/stdc++.h>
using namespace std;
int res[64],counter[256];
void decode(int n,int m,int a[]){
    for(int i=0;i<n;i++)res[i]=0;
    for(int i=0;i<256;i++)counter[i]=0;
    int mx=0,val;
    for(int i=0;i<m;i++)
        counter[a[i]]++;
    for(int i=0;i<256;i++)if(counter[i]>mx)mx=counter[i],val=i;
    mx=0;
    for(int i=0;i<m;i++){
        if(a[i]==val&&mx!=4){
            mx++;
            continue;
        }
        int data=a[i]&3;
        res[a[i]>>2]+=(1<<(data<<1));
    }
    for(int i=0;i<n;i++)output(res[i]^val);
}

Compilation message

encoder.cpp: In function 'void encode(int, int*)':
encoder.cpp:21:29: warning: 'sig' may be used uninitialized in this function [-Wmaybe-uninitialized]
   21 |     for(int i=0;i<4;i++)send(sig);
      |                         ~~~~^~~~~

decoder.cpp: In function 'void decode(int, int, int*)':
decoder.cpp:22:31: warning: 'val' may be used uninitialized in this function [-Wmaybe-uninitialized]
   22 |     for(int i=0;i<n;i++)output(res[i]^val);
      |                         ~~~~~~^~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 2 ms 996 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 13 ms 1328 KB Output is correct
2 Correct 18 ms 1324 KB Output is correct
3 Correct 19 ms 1328 KB Output is correct
4 Correct 21 ms 1316 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 12 ms 1132 KB Output is correct
2 Correct 15 ms 1332 KB Output is correct
3 Correct 19 ms 1320 KB Output is correct
4 Correct 20 ms 1268 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 12 ms 1260 KB Output is correct
2 Correct 20 ms 1324 KB Output is correct
3 Correct 23 ms 1144 KB Output is correct
4 Correct 32 ms 1152 KB Output is correct
5 Correct 33 ms 1280 KB Output is correct
6 Correct 35 ms 1284 KB Output is correct
# Verdict Execution time Memory Grader output
1 Partially correct 20 ms 1316 KB Output is partially correct - P = 5.750000
2 Partially correct 35 ms 1156 KB Output is partially correct - P = 5.718750
3 Partially correct 36 ms 1392 KB Output is partially correct - P = 5.696970
4 Partially correct 53 ms 1432 KB Output is partially correct - P = 5.920000
5 Partially correct 62 ms 1444 KB Output is partially correct - P = 5.750000
6 Partially correct 69 ms 1448 KB Output is partially correct - P = 5.841270
7 Partially correct 62 ms 1448 KB Output is partially correct - P = 5.906250