Submission #3494645


Source Code Expand

from collections import Counter as C
def gcd(a, b):
    if b == 0:
        return a
    else:
        return gcd(b, a % b)
T = [[0, 1], [1, 0]]
for i in range(1, 50):
    for j in range(1, 50):
        if gcd(i,j) == 1:
            T.append([i, j])
            T.append([i, -j])
N = int(input())
X = []
for i in range(N):
    x, y = map(int, input().split())
    X.append([x, y])

def exc(c):
    ret = 0
    if c >= 4:
        ret += (c*(c-1)*(c-2)*(c-3))//24
    if c>= 3:
        ret += ((c*(c-1)*(c-2))//6) * (N-c)
    return ret

ans = (N*(N-1)*(N-2)*(N-3))//24

for a, b in T:
    Y = C([a * x[0] + b * x[1] for x in X]).values()
    for y in Y:
        if y >= 3:
            ans -= exc(y)
print (ans % (10**9+7))

Submission Info

Submission Time
Task B - よんてん
User Kiri8128
Language Python (3.4.3)
Score 50
Code Size 757 Byte
Status TLE
Exec Time 2104 ms
Memory 5876 KB

Judge Result

Set Name level1 level2 level3 level4
Score / Max Score 4 / 4 16 / 16 30 / 30 0 / 50
Status
AC × 8
AC × 33
AC × 55
AC × 58
TLE × 20
Set Name Test Cases
level1 04/04_input00, 04/04_input01, 04/04_input02, 04/04_input03, 04/04_input04, 04/04_input05, 04/04_input06, 04/04_sample1
level2 04/04_input00, 04/04_input01, 04/04_input02, 04/04_input03, 04/04_input04, 04/04_input05, 04/04_input06, 04/04_sample1, 16/16_input05, 16/16_input06, 16/16_input07, 16/16_input08, 16/16_input09, 16/16_input10, 16/16_input11, 16/16_input12, 16/16_input13, 16/16_input14, 16/16_input15, 16/16_input16, 16/16_input17, 16/16_input18, 16/16_input19, 16/16_input20, 16/16_input21, 16/16_input22, 16/16_input23, 16/16_input24, 16/16_input64, 16/16_input65, 16/16_input66, 16/16_input67, 16/16_sample2
level3 04/04_input00, 04/04_input01, 04/04_input02, 04/04_input03, 04/04_input04, 04/04_input05, 04/04_input06, 04/04_sample1, 16/16_input05, 16/16_input06, 16/16_input07, 16/16_input08, 16/16_input09, 16/16_input10, 16/16_input11, 16/16_input12, 16/16_input13, 16/16_input14, 16/16_input15, 16/16_input16, 16/16_input17, 16/16_input18, 16/16_input19, 16/16_input20, 16/16_input21, 16/16_input22, 16/16_input23, 16/16_input24, 16/16_input64, 16/16_input65, 16/16_input66, 16/16_input67, 16/16_sample2, 30/30_input25, 30/30_input26, 30/30_input27, 30/30_input28, 30/30_input29, 30/30_input30, 30/30_input31, 30/30_input32, 30/30_input33, 30/30_input34, 30/30_input35, 30/30_input36, 30/30_input37, 30/30_input38, 30/30_input39, 30/30_input40, 30/30_input41, 30/30_input42, 30/30_input43, 30/30_input44, 30/30_input68, 30/30_input69
level4 04/04_input00, 04/04_input01, 04/04_input02, 04/04_input03, 04/04_input04, 04/04_input05, 04/04_input06, 04/04_sample1, 16/16_input05, 16/16_input06, 16/16_input07, 16/16_input08, 16/16_input09, 16/16_input10, 16/16_input11, 16/16_input12, 16/16_input13, 16/16_input14, 16/16_input15, 16/16_input16, 16/16_input17, 16/16_input18, 16/16_input19, 16/16_input20, 16/16_input21, 16/16_input22, 16/16_input23, 16/16_input24, 16/16_input64, 16/16_input65, 16/16_input66, 16/16_input67, 16/16_sample2, 30/30_input25, 30/30_input26, 30/30_input27, 30/30_input28, 30/30_input29, 30/30_input30, 30/30_input31, 30/30_input32, 30/30_input33, 30/30_input34, 30/30_input35, 30/30_input36, 30/30_input37, 30/30_input38, 30/30_input39, 30/30_input40, 30/30_input41, 30/30_input42, 30/30_input43, 30/30_input44, 30/30_input68, 30/30_input69, 50/50_input45, 50/50_input46, 50/50_input47, 50/50_input48, 50/50_input49, 50/50_input50, 50/50_input51, 50/50_input52, 50/50_input53, 50/50_input54, 50/50_input55, 50/50_input56, 50/50_input57, 50/50_input58, 50/50_input59, 50/50_input60, 50/50_input61, 50/50_input62, 50/50_input63, 50/50_input70, 50/50_input71, 50/50_input72, 50/50_input73
Case Name Status Exec Time Memory
04/04_input00 AC 43 ms 3700 KB
04/04_input01 AC 43 ms 3700 KB
04/04_input02 AC 43 ms 3700 KB
04/04_input03 AC 44 ms 3700 KB
04/04_input04 AC 43 ms 3700 KB
04/04_input05 AC 43 ms 3700 KB
04/04_input06 AC 44 ms 3700 KB
04/04_sample1 AC 45 ms 3700 KB
16/16_input05 AC 103 ms 3700 KB
16/16_input06 AC 125 ms 3700 KB
16/16_input07 AC 106 ms 3700 KB
16/16_input08 AC 64 ms 3700 KB
16/16_input09 AC 49 ms 3700 KB
16/16_input10 AC 55 ms 3572 KB
16/16_input11 AC 110 ms 3700 KB
16/16_input12 AC 70 ms 3572 KB
16/16_input13 AC 67 ms 3700 KB
16/16_input14 AC 91 ms 3700 KB
16/16_input15 AC 67 ms 3700 KB
16/16_input16 AC 86 ms 3700 KB
16/16_input17 AC 99 ms 3700 KB
16/16_input18 AC 121 ms 3700 KB
16/16_input19 AC 56 ms 3700 KB
16/16_input20 AC 111 ms 3700 KB
16/16_input21 AC 111 ms 3700 KB
16/16_input22 AC 71 ms 3700 KB
16/16_input23 AC 74 ms 3700 KB
16/16_input24 AC 84 ms 3700 KB
16/16_input64 AC 48 ms 3700 KB
16/16_input65 AC 55 ms 3700 KB
16/16_input66 AC 64 ms 3700 KB
16/16_input67 AC 129 ms 3700 KB
16/16_sample2 AC 45 ms 3700 KB
30/30_input25 AC 803 ms 4016 KB
30/30_input26 AC 807 ms 4000 KB
30/30_input27 AC 414 ms 3828 KB
30/30_input28 AC 427 ms 3828 KB
30/30_input29 AC 676 ms 3984 KB
30/30_input30 AC 795 ms 4000 KB
30/30_input31 AC 505 ms 3828 KB
30/30_input32 AC 397 ms 3828 KB
30/30_input33 AC 352 ms 3828 KB
30/30_input34 AC 532 ms 3828 KB
30/30_input35 AC 881 ms 3956 KB
30/30_input36 AC 163 ms 3700 KB
30/30_input37 AC 508 ms 3828 KB
30/30_input38 AC 503 ms 3828 KB
30/30_input39 AC 613 ms 3828 KB
30/30_input40 AC 265 ms 3700 KB
30/30_input41 AC 372 ms 3828 KB
30/30_input42 AC 790 ms 3956 KB
30/30_input43 AC 553 ms 3828 KB
30/30_input44 AC 728 ms 3956 KB
30/30_input68 AC 773 ms 4000 KB
30/30_input69 AC 833 ms 4016 KB
50/50_input45 TLE 2104 ms 5352 KB
50/50_input46 TLE 2104 ms 4480 KB
50/50_input47 AC 1131 ms 4084 KB
50/50_input48 TLE 2104 ms 5468 KB
50/50_input49 TLE 2104 ms 4464 KB
50/50_input50 TLE 2104 ms 5096 KB
50/50_input51 TLE 2104 ms 5496 KB
50/50_input52 TLE 2104 ms 4912 KB
50/50_input53 TLE 2104 ms 5608 KB
50/50_input54 TLE 2104 ms 4472 KB
50/50_input55 TLE 2104 ms 5788 KB
50/50_input56 TLE 2104 ms 4496 KB
50/50_input57 TLE 2104 ms 5428 KB
50/50_input58 TLE 2104 ms 5392 KB
50/50_input59 TLE 2104 ms 5048 KB
50/50_input60 TLE 2088 ms 4420 KB
50/50_input61 TLE 2104 ms 5548 KB
50/50_input62 AC 1745 ms 4348 KB
50/50_input63 TLE 2104 ms 5744 KB
50/50_input70 AC 885 ms 4028 KB
50/50_input71 TLE 2102 ms 4456 KB
50/50_input72 TLE 2104 ms 5284 KB
50/50_input73 TLE 2104 ms 5876 KB