Submission #3362228
Source Code Expand
N, M = gets.split.map(&:to_i) edges = Array.new(N){[]} M.times do a, b = gets.split.map(&:to_i) edges[a-1].push(b-1) edges[b-1].push(a-1) end visited = [] nums = [] n1 = 0 n2 = 0 N.times do |i| next if visited[i] num = 1 visited[i] = true stack = [i] while stack.length > 0 a = stack.pop edges[a].each do |b| next if visited[b] num += 1 visited[b] = true stack.push(b) end end n1 = num if i == 0 n2 += num if i != 1 end n1 = [n1, N-n1].min n2 = [n2, N-n2].min opt = [n1, n2].min esum = opt*(opt-1)/2 + (N-opt)*(N-opt-1)/2 puts esum - M
Submission Info
Submission Time | |
---|---|
Task | D - Shock |
User | betrue12 |
Language | Ruby (2.3.3) |
Score | 100 |
Code Size | 689 Byte |
Status | AC |
Exec Time | 217 ms |
Memory | 13948 KB |
Compile Error
./Main.rb:10: warning: assigned but unused variable - nums
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 100 / 100 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | a01, a02, a03 |
All | a01, a02, a03, b04, b05, b06, b07, b08, b09, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
a01 | AC | 7 ms | 1788 KB |
a02 | AC | 7 ms | 1788 KB |
a03 | AC | 7 ms | 1788 KB |
b04 | AC | 7 ms | 1788 KB |
b05 | AC | 55 ms | 10108 KB |
b06 | AC | 194 ms | 10184 KB |
b07 | AC | 193 ms | 10108 KB |
b08 | AC | 124 ms | 10184 KB |
b09 | AC | 192 ms | 10236 KB |
b10 | AC | 193 ms | 10236 KB |
b11 | AC | 7 ms | 1788 KB |
b12 | AC | 209 ms | 12668 KB |
b13 | AC | 210 ms | 12156 KB |
b14 | AC | 210 ms | 12156 KB |
b15 | AC | 205 ms | 12156 KB |
b16 | AC | 217 ms | 12668 KB |
b17 | AC | 209 ms | 12540 KB |
b18 | AC | 202 ms | 12796 KB |
b19 | AC | 204 ms | 12924 KB |
b20 | AC | 21 ms | 2940 KB |
b21 | AC | 42 ms | 2684 KB |
b22 | AC | 208 ms | 12668 KB |
b23 | AC | 209 ms | 13948 KB |