https://www.acmicpc.net/problem/5576
최근 온라인에서의 프로그래밍 콘테스트가 열렸다. W 대학과 K 대학의 컴퓨터 클럽은 이전부터 라이벌 관계에있어,이 콘테스트를 이용하여 양자의 우열을 정하자라는 것이되었다.
이번이 두 대학에서 모두 10 명씩이 콘테스트에 참여했다. 긴 논의 끝에 참가한 10 명 중 득점이 높은 사람에서 3 명의 점수를 합산하여 대학의 득점으로하기로 했다.
W 대학 및 K 대학 참가자의 점수 데이터가 주어진다. 이때, 각각의 대학의 점수를 계산하는 프로그램을 작성하라.
입력은 20 행으로 구성된다. 1 번째 줄부터 10 번째 줄에는 W 대학의 각 참가자의 점수를 나타내는 정수가 11 번째 줄부터 20 번째 줄에는 K 대학의 각 참가자의 점수를 나타내는 정수가 적혀있다. 이 정수는 모두 0 이상 100 이하이다.
W 대학 점수와 K 대학의 점수를 순서대로 공백으로 구분하여 출력하라.
// 5576번 : 콘테스트
#include <stdio.h>
#include <stdlib.h>
#define size 10
int k[size],w[size];
int compare(const void *a,const void *b){
int A = *(int *)a;
int B = *(int *)b;
if(A > B){
return 1;
}
else{
return -1;
}
return 0;
}
int main(){
int sumK = 0,sumW = 0;
for(int i = 0; i < size; i++){
scanf("%d",&w[i]);
}
for(int i = 0; i < size; i++){
scanf("%d",&k[i]);
}
qsort(k,size,sizeof(int),compare);
qsort(w,size,sizeof(int),compare);
for(int i = 7; i < size; i++){
sumK += k[i];
sumW += w[i];
}
printf("%d %d",sumW,sumK);
return 0;
}