結果

問題 No.1746 Sqrt Integer Segments
ユーザー tails
提出日時 2021-11-18 00:32:28
言語 cLay
(20241019-1)
結果
AC  
実行時間 166 ms / 2,000 ms
コード長 458 bytes
コンパイル時間 8,392 ms
コンパイル使用メモリ 226,212 KB
実行使用メモリ 22,124 KB
最終ジャッジ日時 2024-09-13 09:21:48
合計ジャッジ時間 11,714 ms
ジャッジサーバーID
(参考情報)
judge1 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 28
権限があれば一括ダウンロードができます

ソースコード

diff #

#define A 0x9e3779b97f4a7c15
#define B 0xbf58476d1ce4e5b9
#define C 0x94d049bb133111eb

static inline
unsigned long splitmix64(unsigned long x) {
	x += A;
	x = (x ^ (x >> 30)) * B;
	x = (x ^ (x >> 27)) * C;
	return x ^ (x >> 31);
}

int f[10000];
int e[10000];

{
	int @n,@a[n];
	ull h=0;
	ll z=0;
	unordered_map<ull,int> m;
	m[0]=1;
	rep(i,n){
		int b=Factor(a[i],f,e);
		rep(j,b){
			if(e[j]&1){
				h^=splitmix64(f[j]);
			}
		}
		z+=m[h]++;
	}
	wt(z);
}
0