만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

객관식 시험

시간 제한1초메모리 제한1024 MB

요약
N개 그룹에서 벡터를 하나씩 골라 합의 원점으로부터의 제곱 거리가 최대가 되도록 한다.
난이도

어려움10점 중 8점

유형
기하, 그리디, 구현, 수학
정답자
아직 제출이 없습니다

문제

소들은 객관식 시험을 본다. 다만 각 문항에서 고른 답을 따로 채점한 뒤 합산하는 일반적인 시험과 달리, 이 시험에서는 고른 답을 먼저 합한 뒤에 채점한다.

구체적으로, 2차원 평면 위의 정수 벡터 NN개 묶음이 주어진다. 각 벡터는 순서쌍 (x,y)(x,y)로 나타낸다. 각 묶음에서 벡터를 하나씩 골라, 그 합이 원점에서 최대한 멀어지도록 하라.

벡터의 총 개수는 2⋅1052\cdot 10^5 이하이다. 각 묶음의 크기는 2 이상이고, 한 묶음 안에서 모든 벡터는 서로 다르다. 모든 xx좌표와 yy좌표의 절댓값은 109N\frac{10^9}{N} 이하이다.

입력

첫째 줄에 묶음의 개수 NN이 주어진다.

각 묶음은 그 묶음에 속한 벡터의 개수 GG로 시작하고, 이어서 그 묶음의 벡터를 담은 GG개의 줄이 주어진다. 연속한 묶음 사이는 빈 줄로 구분된다.

출력

가능한 합의 유클리드 거리 제곱의 최댓값을 출력한다.

힌트

첫 번째 묶음에서 (1,0)(1,0), 두 번째 묶음에서 (0,1)(0,1), 세 번째 묶음에서 (10,10)(10,10)을 고르는 것이 최적이다. 이 벡터들의 합은 (11,11)(11,11)이고, 원점에서의 거리 제곱은 112+112=24211^2+11^2=242이다.

예제1

  1. 예제 1

    입력
    3
    
    2
    -2 0
    1 0
    
    2
    0 -2
    0 1
    
    3
    -5 -5
    5 1
    10 10
    
    예상 출력
    242