※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 25965번 문제인 미션 도네이션이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/25965
주어지는 k, d, a값과 여러개의 미션에 대응되는 K, D, A값에 대하여 K*k+D*d+A*a 값의 합을 계산하는 문제이다. 단 그 값이 음수일 경우 계산에서 제외한다. (따라서 입력을 받으면서 미리 K, D, A값들을 각각 더해두고 문제를 푸는 등의 방식을 이용할 수 없다.)
미션에 대응되는 K, D, A의 값들이 먼저 주어지므로 이를 배열에 저장해두고 문제를 해결하자.
아래는 제출한 소스코드이다.
#include <iostream>
using namespace std;
typedef long long ll;
ll arr[100][3];
ll K, D, A;
void solve() {
ll ans = 0;
int M; cin >> M;
for (int i = 0; i < M; i++) cin >> arr[i][0] >> arr[i][1] >> arr[i][2];
cin >> K >> D >> A;
for (int i = 0; i < M; i++) ans += max(arr[i][0] * K - arr[i][1] * D + arr[i][2] * A, 0LL);
cout << ans << '\n';
}
int main() {
ios::sync_with_stdio(0);
int N; cin >> N;
while (N--) solve();
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 25973 // C++] 어지러운 트리 (0) | 2022.11.15 |
---|---|
[BOJ 1748 // C++] 수 이어 쓰기 1 (0) | 2022.11.14 |
[BOJ 2309 // C++] 일곱 난쟁이 (0) | 2022.11.13 |
[BOJ 24957 // C++] Loop of Chocolate (0) | 2022.11.13 |
[BOJ 7581 // C++] Cuboids (0) | 2022.11.13 |