각 데이터 세트에서 가중치와 특징 행렬이 주어질 때, 가중합이 가장 큰 물고기 번호를 오름차순으로 출력한다.
쉬움2구현배열수학면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB바다 동물의 공생 관계 중에 청소 정거장이라는 것이 있다. 해산처럼 청소부 물고기가 많이 모여 있는 장소를 말한다. 상어 같은 큰 물고기는 청소 정거장까지 헤엄쳐 와서 몸에 붙은 기생충을 떼어 줄 청소부 물고기를 고른다. 청소부 물고기는 기생충을 먹어 끼니를 해결하고 상어는 몸이 깨끗해진다. 둘 다 이득을 본다.
상어는 청소를 받는 동안 무방비 상태가 되기 때문에 어떤 물고기에게 몸을 맡길지 아주 까다롭게 고른다. 조금이라도 이상하면 곧바로 자리를 뜬다. 조심하는 데에는 이유가 있다. 일부 청소부 물고기는 기생충뿐 아니라 상어 살점도 조금씩 뜯어 먹는다.
상어가 청소부 물고기를 판단하는 특성이 여러 개 있고, 특성마다 상어가 매긴 가중치가 양수 또는 음수로 정해져 있다. 어떤 상어는 몸집이 큰 청소부 물고기를 선호하면서도 헤엄쳐 갈 거리는 짧기를 바라고, 청소부 물고기가 느리게 움직이기를 바랄 수 있다. 청소부 물고기마다 특성값이 주어질 때, 특성값의 가중합이 가장 큰 청소부 물고기를 모두 찾아라.
첫 줄에 데이터 세트의 개수 K가 주어진다. 이어서 K개의 데이터 세트가 아래 형식으로 주어진다.
각 데이터 세트의 첫 줄에는 두 정수 n과 m이 주어진다. n은 청소부 물고기의 수로 1≤n≤100이고, m은 상어가 판단에 쓰는 특성의 개수로 1≤m≤10이다.
다음 줄에는 정수 m개 x1,x2,…,xm이 주어진다. 상어가 각 특성에 매긴 가중치이고 모두 −20 이상 20 이하이다.
그다음 n개의 줄에는 청소부 물고기 하나의 정보가 한 줄씩 주어진다. 그중 i번째 줄에는 정수 m개 yi,1,yi,2,…,yi,m이 주어지며, i번 청소부 물고기의 특성값이다. 각 yi,j는 −20 이상 20 이하의 정수이다.
각 데이터 세트마다 먼저 Data Set x:를 한 줄에 출력한다. x는 데이터 세트의 번호이고 1부터 센다.
이어서 가중합 ∑j=1mxjyi,j가 가장 큰 청소부 물고기의 번호를 오름차순으로 한 줄에 하나씩 모두 출력한다. 청소부 물고기의 번호는 입력에 주어진 순서대로 1번부터 n번까지이다.
각 데이터 세트의 출력 뒤에는 빈 줄을 하나 출력한다.