Submission #2237175
Source Code Expand
import algorithm, tables, sets, lists, intsets, critbits, sequtils, strutils, future, options, macros, math
proc `?`*[T](trueOrFalse:bool,selector:bool->T):T = selector(trueOrFalse)
proc `?`*[T](trueOrFalse:int,selector:bool->T):T = selector(trueOrFalse == 1)
template `|`*[T](lhs,rhs:T):proc = (proc(trueOrFalse:bool):T = (if trueOrFalse: lhs else: rhs))
proc sort*[T](a: openArray[T], order:SortOrder=Ascending):seq[T] = sorted(a, system.cmp, order)
proc group*[T](v:seq[T]):seq[ref seq[T]] =
var list = newSeq[ref seq[T]](0)
var st = 0
var last = v.len-1
for i in 0..last:
if i == last or v[i] != v[i+1]:
var sec = new(seq[T])
sec[] = v[st..i]
list.add(sec)
st = i + 1
return list
proc has*[T](v:seq[T], elemList:varargs[T]):bool=
var vCopied:seq[T] = v
for elem in elemList:
let itr = vCopied.find(elem)
if itr == -1:
return false
else:
vCopied.del(itr)
return true
proc `++`*[T](t:var T):T=
t += 1
return t-1
proc cut*(s:var string, a, b:int):string=
delete(s, a, b)
return s
#proc `[]`*(s:int, i:int):bool = (s.shr(i) and 1) == 1
template mat*[T](n,m):auto =
newSeqWith(n, newSeq[T](m))
macro ast(a:untyped):untyped = echo a.treeRepr
template `>>`(s,op:untyped):untyped =
s.mapIt(op)
type point = object of RootObj
x:int
y:int
proc numin*():auto = readLine(stdin).split().map(parseInt)
proc strin*():auto = readLine(stdin).split()
proc val[T]():T =
let line = readLine(stdin)
when T is string:
result = line
when T is int:
result = parseInt(line)
when T is point:
let d = line.split().map(parseInt)
result = point(x:d[0], y:d[1])
when T is (int, int):
let d = line.split().map(parseInt)
result = (d[0], d[1])
proc seq[T](length:int):seq[T] =
result = newSeq[T](length)
for i in result.mitems():
i = val[T]()
# let res = (0..length-1).mapIt(val[T]())
# return res
#proc nCr[T,U](d:seq[T], n:int, op:seq[T]->U):seq[U] =
# let len = d.len()
# result = newSeq[U]()
# for i in 0..len-1:
# for j in i+1..len-1:
# result.add op(@[d[i],d[j]])
proc nC2[T,U](d:seq[T], op:(T,T)->U):iterator():U =
iterator nC2Impl():U =
let len = d.len()
for i in 0..len-1:
for j in i+1..len-1:
yield op(d[i],d[j])
return nC2Impl
proc max[T](it:iterator():T):T =
result = it()
for i in it():
result = max(result, i)
var
n=val[int]()
m=seq[point](n)
var lens = nC2(m, (a,b) => math.sqrt float((a.x-b.x)^2 + (a.y-b.y)^2))
echo lens.max
Submission Info
Compile Error
Hint: system [Processing]
Hint: Main [Processing]
Hint: algorithm [Processing]
Hint: tables [Processing]
Hint: hashes [Processing]
Hint: strutils [Processing]
Hint: parseutils [Processing]
Hint: etcpriv [Processing]
Hint: math [Processing]
Hint: times [Processing]
Hint: sets [Processing]
Hint: os [Processing]
Hint: posix [Processing]
Hint: lists [Processing]
Hint: intsets [Processing]
Hint: critbits [Processing]
lib/pure/collections/critbits.nim(125, 7) Hint: 'n' is declared but not used [XDeclaredButNotUsed]
Hint: sequtils [Processing]
Hint: future [Processing]
Hint: macros [Processing]
Hint: options [Processing]
Hint: typetraits [Processing]
Main.nim(35, 7) Hint: 'ast' is declared but not used [XDeclaredButNotUsed]
Main.nim(36, 10) Hint: '>>' is declared but not used [XDeclaredButNotUsed]
Hint: [Link]
Hint: operation successful (25680 lines compiled; 2.355 sec total; 25.256MB; Release Build) [SuccessX]
Judge Result
Set Name |
All |
Score / Max Score |
100 / 100 |
Status |
|
Set Name |
Test Cases |
All |
00_max.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 00_sample_04.txt, 00_sample_05.txt, 01_rnd_00.txt, 01_rnd_01.txt, 01_rnd_02.txt, 01_rnd_03.txt, 01_rnd_04.txt, 01_rnd_05.txt, 01_rnd_06.txt, 01_rnd_07.txt, 01_rnd_08.txt, 01_rnd_09.txt, 01_rnd_10.txt, 01_rnd_11.txt, 01_rnd_12.txt, 01_rnd_13.txt, 01_rnd_14.txt, 01_rnd_15.txt, 01_rnd_16.txt, 01_rnd_17.txt, 01_rnd_18.txt, 01_rnd_19.txt |
Case Name |
Status |
Exec Time |
Memory |
00_max.txt |
AC |
1 ms |
256 KB |
00_sample_01.txt |
AC |
1 ms |
256 KB |
00_sample_02.txt |
AC |
1 ms |
256 KB |
00_sample_03.txt |
AC |
1 ms |
256 KB |
00_sample_04.txt |
AC |
1 ms |
256 KB |
00_sample_05.txt |
AC |
1 ms |
256 KB |
01_rnd_00.txt |
AC |
1 ms |
256 KB |
01_rnd_01.txt |
AC |
1 ms |
256 KB |
01_rnd_02.txt |
AC |
1 ms |
256 KB |
01_rnd_03.txt |
AC |
1 ms |
256 KB |
01_rnd_04.txt |
AC |
1 ms |
256 KB |
01_rnd_05.txt |
AC |
1 ms |
256 KB |
01_rnd_06.txt |
AC |
1 ms |
256 KB |
01_rnd_07.txt |
AC |
1 ms |
256 KB |
01_rnd_08.txt |
AC |
1 ms |
256 KB |
01_rnd_09.txt |
AC |
1 ms |
256 KB |
01_rnd_10.txt |
AC |
1 ms |
256 KB |
01_rnd_11.txt |
AC |
1 ms |
256 KB |
01_rnd_12.txt |
AC |
1 ms |
256 KB |
01_rnd_13.txt |
AC |
1 ms |
256 KB |
01_rnd_14.txt |
AC |
1 ms |
256 KB |
01_rnd_15.txt |
AC |
1 ms |
256 KB |
01_rnd_16.txt |
AC |
1 ms |
256 KB |
01_rnd_17.txt |
AC |
1 ms |
256 KB |
01_rnd_18.txt |
AC |
1 ms |
256 KB |
01_rnd_19.txt |
AC |
1 ms |
256 KB |