답안 #941690

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
941690 2024-03-09T09:50:23 Z SmuggingSpun 앵무새 (IOI11_parrots) C++14
88 / 100
9 ms 1400 KB
#include "encoder.h"
#include "encoderlib.h"
#include<bits/stdc++.h>
using namespace std;
void encode(int N, int M[]){
	if(N <= 32){
		for(int i = 0; i < N; i++){
			for(int j = 0; j < 8; j++){
				if(1 << j & M[i]){
					send((i << 3) + j);
				}
			}
		}
		return;
	}
	for(int i = 0; i < N; i++){
		int m = M[i];
		for(int j = 0; j < 4; j++){
			int x = m & 3;
			m >>= 2;
			for(int t = 0; t < x; t++){
				send((i << 2) + j);
			}
		}
	}
}
#include "decoder.h"
#include "decoderlib.h"
#include<bits/stdc++.h>
using namespace std;
void decode(int N, int L, int X[]){
	if(N <= 32){
		vector<bool>bit(N << 3, false);
		for(int i = 0; i < L; i++){
			bit[X[i]] = true;
		}
		for(int i = 0; i < N; i++){
			int ans = 0;
			for(int j = 0; j < 8; j++){
				if(bit[(i << 3) + j]){
					ans |= 1 << j;
				}
			}
			output(ans);
		}
		return;
	}
	vector<int>cnt(N << 2, 0);
	for(int i = 0; i < L; i++){
		cnt[X[i]]++;
	}
	for(int i = 0; i < N; i++){
		int ans = 0;
		for(int j = 0; j < 4; j++){
			ans += (1 << (j << 1)) * cnt[(i << 2) + j];
		}
		output(ans);
	}
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 1036 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 1312 KB Output is correct
2 Correct 2 ms 1316 KB Output is correct
3 Correct 2 ms 1312 KB Output is correct
4 Correct 1 ms 1320 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 1312 KB Output is correct
2 Correct 1 ms 1308 KB Output is correct
3 Correct 2 ms 1308 KB Output is correct
4 Correct 2 ms 1400 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 1312 KB Output is correct
2 Correct 1 ms 1320 KB Output is correct
3 Correct 2 ms 1324 KB Output is correct
4 Correct 3 ms 1324 KB Output is correct
5 Correct 2 ms 1324 KB Output is correct
6 Correct 3 ms 1324 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Partially correct 1 ms 1320 KB partially correct P=8.000000
2 Partially correct 3 ms 1328 KB partially correct P=8.000000
3 Partially correct 3 ms 1340 KB partially correct P=12.000000
4 Partially correct 6 ms 1360 KB partially correct P=12.000000
5 Partially correct 9 ms 1368 KB partially correct P=12.000000
6 Partially correct 7 ms 1376 KB partially correct P=12.000000
7 Partially correct 7 ms 1376 KB partially correct P=12.000000