청소 정거장

각 데이터 세트에서 가중치와 특징 행렬이 주어질 때, 가중합이 가장 큰 물고기 번호를 오름차순으로 출력한다.

쉬움2구현배열수학면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

바다 동물의 공생 관계 중에 청소 정거장이라는 것이 있다. 해산처럼 청소부 물고기가 많이 모여 있는 장소를 말한다. 상어 같은 큰 물고기는 청소 정거장까지 헤엄쳐 와서 몸에 붙은 기생충을 떼어 줄 청소부 물고기를 고른다. 청소부 물고기는 기생충을 먹어 끼니를 해결하고 상어는 몸이 깨끗해진다. 둘 다 이득을 본다.

상어는 청소를 받는 동안 무방비 상태가 되기 때문에 어떤 물고기에게 몸을 맡길지 아주 까다롭게 고른다. 조금이라도 이상하면 곧바로 자리를 뜬다. 조심하는 데에는 이유가 있다. 일부 청소부 물고기는 기생충뿐 아니라 상어 살점도 조금씩 뜯어 먹는다.

상어가 청소부 물고기를 판단하는 특성이 여러 개 있고, 특성마다 상어가 매긴 가중치가 양수 또는 음수로 정해져 있다. 어떤 상어는 몸집이 큰 청소부 물고기를 선호하면서도 헤엄쳐 갈 거리는 짧기를 바라고, 청소부 물고기가 느리게 움직이기를 바랄 수 있다. 청소부 물고기마다 특성값이 주어질 때, 특성값의 가중합이 가장 큰 청소부 물고기를 모두 찾아라.

입력

첫 줄에 데이터 세트의 개수 KK가 주어진다. 이어서 KK개의 데이터 세트가 아래 형식으로 주어진다.

각 데이터 세트의 첫 줄에는 두 정수 nnmm이 주어진다. nn은 청소부 물고기의 수로 1n1001 \le n \le 100이고, mm은 상어가 판단에 쓰는 특성의 개수로 1m101 \le m \le 10이다.

다음 줄에는 정수 mmx1,x2,,xmx_1, x_2, \dots, x_m이 주어진다. 상어가 각 특성에 매긴 가중치이고 모두 20-20 이상 2020 이하이다.

그다음 nn개의 줄에는 청소부 물고기 하나의 정보가 한 줄씩 주어진다. 그중 ii번째 줄에는 정수 mmyi,1,yi,2,,yi,my_{i,1}, y_{i,2}, \dots, y_{i,m}이 주어지며, ii번 청소부 물고기의 특성값이다. 각 yi,jy_{i,j}20-20 이상 2020 이하의 정수이다.

출력

각 데이터 세트마다 먼저 Data Set x:를 한 줄에 출력한다. xx는 데이터 세트의 번호이고 11부터 센다.

이어서 가중합 j=1mxjyi,j\sum_{j=1}^{m} x_j y_{i,j}가 가장 큰 청소부 물고기의 번호를 오름차순으로 한 줄에 하나씩 모두 출력한다. 청소부 물고기의 번호는 입력에 주어진 순서대로 11번부터 nn번까지이다.

각 데이터 세트의 출력 뒤에는 빈 줄을 하나 출력한다.