結果

問題 No.1072 A Nice XOR Pair
ユーザー 6soukiti296soukiti29
提出日時 2020-06-09 02:02:24
言語 Nim
(2.0.2)
結果
CE  
(最新)
AC  
(最初)
実行時間 -
コード長 613 bytes
コンパイル時間 815 ms
コンパイル使用メモリ 64,384 KB
最終ジャッジ日時 2024-06-09 05:48:32
合計ジャッジ時間 1,308 ms
ジャッジサーバーID
(参考情報)
judge1 / judge5
このコードへのチャレンジ
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。

コンパイルメッセージ
/home/judge/data/code/Main.nim(9, 30) Error: type mismatch: got 'seq[BiggestInt]' for 'map(split(readLine(stdin), {' ', '\t', '\v', '\r', '\n', '\f'}, -1),
    parseBiggestInt)' but expected 'tuple'

ソースコード

diff #

import sequtils,strutils,algorithm
var
    N, X : int64
    A : seq[int64]
    B : seq[int64]
    ans : int64
    f :array[200010, int64]

(N, X) = stdin.readline.split.map(parseBiggestInt)

for i in 1..N:
    A.add(stdin.readline.parseBiggestInt)

A.sort(cmp)

for i,a in A:
    if B.len == 0 or B[^1] != a:
         B.add(a)
    f[B.high] += 1

for i,a in B:
    if X == 0:
        ans += f[i] * (f[i] - 1) div 2
        continue
    var k : int64 = (X xor a)
    var j = B.lowerbound(k)

    if j > B.high or B[j] != k:
        continue
    ans += f[j] * f[i]
if X > 0:
    echo (ans div 2)
else:
    echo ans
0