[백준 25881] Electric Bill (C#, C++) - soo:bak
작성일 :
문제 링크
설명
각 고객의 전기요금을 계산하는 문제입니다.
접근법
1000KWH까지는 기본 단가, 초과분은 추가 단가를 적용합니다.
사용량에서 1000을 뺀 값이 양수이면 그만큼이 초과분이고, 나머지가 기본 구간입니다.
각 구간에 해당 단가를 곱해 합산하면 요금이 됩니다.
Code
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
using System;
class Program {
static void Main() {
var fees = Array.ConvertAll(Console.ReadLine()!.Split(), int.Parse);
var baseFee = fees[0]; var extraFee = fees[1];
var n = int.Parse(Console.ReadLine()!);
for (var i = 0; i < n; i++) {
var e = int.Parse(Console.ReadLine()!);
var extra = Math.Max(0, e - 1000);
var baseUse = e - extra;
var bill = baseUse * baseFee + extra * extraFee;
Console.WriteLine($"{e} {bill}");
}
}
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int a, b;
if (!(cin >> a >> b)) return 0;
int n; cin >> n;
for (int i = 0; i < n; i++) {
int e; cin >> e;
int extra = max(0, e - 1000);
int baseUse = e - extra;
int bill = baseUse * a + extra * b;
cout << e << ' ' << bill << "\n";
}
return 0;
}