10696 2024. 04. 09 22:36:46 111 IntervallumXOR kihívás cpp17 Elfogadva 100/100 178ms 7640 KiB
#include<bits/stdc++.h>
using namespace std;

#define int long long

signed main(){
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	int Q;
	cin>>Q;
	while(Q--){
		int a;
		cin>>a;
		int x=0;
		for(int i=1;i<=a;i*=2){
			int c=a/(i*2)*i+max(a%(i*2)-i+1,0ll);
			if(c&1)x|=i;
		}
		int y=0;
		for(int i=1<<__lg(a);i;i/=2){
			if(!(x&i)&&(y|i)<=a){
				y|=i;
			}
		}
		cout<<x<<' '<<(x^y)<<'\n';
	}
	return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 3ms 1896 KiB
subtask2 15/15
2 Elfogadva 3ms 2116 KiB
subtask3 15/15
3 Elfogadva 108ms 3320 KiB
subtask4 20/20
4 Elfogadva 3ms 3400 KiB
subtask5 50/50
5 Elfogadva 178ms 5488 KiB
6 Elfogadva 178ms 7640 KiB