[백준 2914] 저작권 (C#, C++) - soo:bak
작성일 :
문제 링크
설명
반올림된 평균 곡 수가 주어졌을 때, 최소 실제 곡 수의 총합을 계산하는 문제입니다.
A
곡이 수록된 앨범이 있고, 평균I
곡이 있다고 합니다.- 하지만 이 평균은 실제로는 반올림되어 표시된 값입니다.
- 따라서 반올림 결과가 I가 되는 가장 작은 실제 곡 수 총합을 계산하면 됩니다.
접근법
- 반올림은 소수점 첫째 자리에서 올림(
ceil
)되는 방식입니다. -
즉, 다음과 같은 등식을 만족하는 최소
\[\left\lceil \frac{X}{A} \right\rceil = I\]X
를 구해야 합니다: -
이 등식은 다음 부등식을 만족하는
\[I - 1 < \frac{X}{A} \leq I\]X
에 의해 성립합니다: -
양변에
\[A \cdot (I - 1) < X \leq A \cdot I\]A
를 곱하면 다음 범위로 바꿀 수 있습니다: -
이 범위에서 가능한 최소 정수
\[X = A \cdot (I - 1) + 1\]X
는 다음과 같습니다: - 따라서 실제 곡 수의 총합은
A * (I - 1) + 1
로 계산하면 됩니다.
Code
[ C# ]
1
2
3
4
5
6
7
8
9
10
11
using System;
class Program {
static void Main() {
var input = Console.ReadLine().Split();
int a = int.Parse(input[0]);
int i = int.Parse(input[1]);
Console.WriteLine(a * (i - 1) + 1);
}
}
[ C++ ]
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int cntS, avgM; cin >> cntS >> avgM;
cout << cntS * (avgM - 1) + 1 << "\n";
return 0;
}