https://www.acmicpc.net/problem/23348
동아리 총 점수 중 가장 높은 점수를 찾는 문제입니다.
동아리 점수는 개인 점수가 모여서 만들어지고
개인 점수는 세 가지 기술 점수가 모여서 만들어지고
기술 점수는 난이도와 횟수의 곱입니다.
즉 가장 높은 동아리 점수를 얻기 위해선 개별 동아리 점수, 개인 점수, 기술 점수를 구해야 되는 것입니다.
#include <iostream>
using namespace std;
int A, B, C, N, highestScore;
int main()
{
ios::sync_with_stdio(0), cin.tie(0);
cin >> A >> B >> C >> N;
for (int i = 0; i < N; ++i)
{
int score = 0;
for (int j = 0; j < 3; ++j)
{
int a, b, c;
cin >> a >> b >> c;
score += a * A + b * B + c * C;
}
highestScore = max(score, highestScore);
}
cout << highestScore;
return 0;
}
동아리의 개수만큼 반복문을 돌며 각 동아리의 점수를 구해준 뒤 가장 높은 동아리 점수를 갱신하면 됩니다.