結果

問題 No.2785 四乗足す四の末尾の0
コンテスト
ユーザー 👑 tails
提出日時 2024-06-17 18:13:03
言語 C90(gcc15)
(gcc 15.2.0)
コンパイル:
gcc-15 -O2 -std=c90 -DONLINE_JUDGE -o a.out _filename_ -lm
実行:
./a.out
結果
AC  
実行時間 4 ms / 2,000 ms
コード長 689 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 197 ms
コンパイル使用メモリ 37,760 KB
最終ジャッジ日時 2026-02-24 01:20:02
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 20
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

#pragma GCC optimize("Ofast")
#pragma GCC target("avx2")

#define rd_init() char*rp=({char*mmap();mmap(0l,1l<<25,1,2,0,0ll);})
#define rd() ({int _v=0,_c;while(_c=*rp++-48,_c>=0)_v=_v*10+_c;_v;})

char wbuf[1<<25];

int main(){
	rd_init();
	int t=rd();
	char*wp=wbuf;
	while(t--){
		while(*rp++!='\n'){
		}
		unsigned n=rp[-2]-'0';
		if(rp[-3]>='0'){
			n+=(rp[-3]-'0')*10;
			goto no;
		}
		if(n==1){
			*wp++='Y';
			*wp++='e';
			*wp++='s';
		}else{
			no:;
			*wp++='N';
			*wp++='o';
		}
		*wp++='\n';
		n-=n>=50?50:0;
		*wp++=
			1ul<<n&(5ul<<6|5ul<<42)?'2':
			1ul<<n&(1ul<<0|1ul<<10|1ul<<20|1ul<<30|1ul<<40)*340ul?'1':
			'0';
		*wp++='\n';
	}
	write(1,wbuf,wp-wbuf);
	_exit(0);
}
0