Submission #6354124


Source Code Expand

import sys
input = sys.stdin.readline
from collections import defaultdict

# 切り離す必要があるものを辺として、二部グラフの判定
N,M = map(int,input().split())

# 補グラフ
rng = range(1,N+1)
graph = [None] + [set(x for x in rng if x != y) for y in rng]
for _ in range(M):
    a,b = map(int,input().split())
    graph[a].remove(b)
    graph[b].remove(a)

color = [None] * (1+N)
size = defaultdict(lambda: [0,0])

def set_color(root,x,c):
    size[root][c] += 1
    color[x] = c
    for y in graph[x]:
        if color[y] is None:
            set_color(root,y,1-c)
        elif color[y] == color[x]:
            print(-1)
            exit()

for x in rng:
    if color[x] is None:
        set_color(x,x,0)

# 二部グラフになるべく平均的に分けたい
# 可能なサイズの集合を持つ

se = {0}
for x,y in size.values():
    se = set(s + x for s in se) | set(s + y for s in se)

answer = min(x*(x-1)//2+(N-x)*(N-x-1)//2 for x in se)
print(answer)

Submission Info

Submission Time
Task E - Independence
User maspy
Language Python (3.4.3)
Score 700
Code Size 1030 Byte
Status AC
Exec Time 507 ms
Memory 35948 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 700 / 700
Status
AC × 4
AC × 37
Set Name Test Cases
Sample sample1.txt, sample2.txt, sample3.txt, sample4.txt
All sample1.txt, sample2.txt, sample3.txt, sample4.txt, 1.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 2.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 3.txt, 4.txt, 5.txt, 6.txt, 7.txt, 8.txt, 9.txt, sample1.txt, sample2.txt, sample3.txt, sample4.txt
Case Name Status Exec Time Memory
1.txt AC 32 ms 4332 KiB
10.txt AC 28 ms 4204 KiB
11.txt AC 457 ms 35820 KiB
12.txt AC 454 ms 35564 KiB
13.txt AC 410 ms 34156 KiB
14.txt AC 387 ms 34796 KiB
15.txt AC 434 ms 35692 KiB
16.txt AC 401 ms 34156 KiB
17.txt AC 440 ms 34924 KiB
18.txt AC 87 ms 6252 KiB
19.txt AC 506 ms 35948 KiB
2.txt AC 91 ms 6252 KiB
20.txt AC 454 ms 35692 KiB
21.txt AC 442 ms 34412 KiB
22.txt AC 448 ms 34924 KiB
23.txt AC 507 ms 35944 KiB
24.txt AC 306 ms 25964 KiB
25.txt AC 95 ms 35692 KiB
26.txt AC 20 ms 3316 KiB
27.txt AC 20 ms 3316 KiB
28.txt AC 20 ms 3316 KiB
29.txt AC 20 ms 3316 KiB
3.txt AC 426 ms 35692 KiB
4.txt AC 446 ms 35564 KiB
5.txt AC 419 ms 34156 KiB
6.txt AC 434 ms 34796 KiB
7.txt AC 460 ms 35820 KiB
8.txt AC 29 ms 4204 KiB
9.txt AC 83 ms 6252 KiB
sample1.txt AC 20 ms 3316 KiB
sample2.txt AC 20 ms 3316 KiB
sample3.txt AC 20 ms 3316 KiB
sample4.txt AC 20 ms 3316 KiB