[백준 27262] Лифт (C#, C++) - soo:bak
작성일 :
문제 링크
설명
간단한 사칙연산 문제입니다. 
문제의 목표는 거주하는 층 n , 현재 위치한 엘레베이터의 층 k, 계단을 이동하는 데 걸리는 시간 k, 
엘리베이터가 각 층을 이동하는 데에 걸리는 시간 b 가 주어졌을 때, 엘레베이터를 이용하는 경우의 시간과 
계단을 이용하는 경우의 시간을 각각 계산하는 것입니다. 
주어진 조건에 따르면, 각각의 시간은 다음과 같이 계산됩니다. 
엘레베이터를 이용하는 경우의 시간 
  = 엘레베이터가 1층에 도달하는 시간 + 엘레베이터가 n층으로 이동하는 시간
  = (abs(1 - k) * b) + (n - 1) * b
계단을 이용하는 경우의 시간
  = (n - 1) * b
결과값을 계산한 후, 문제에서 주어진 출력 조건에 따라 적절히 출력합니다. 
Code
[ C# ] 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
namespace Solution {
  class Program {
    static void Main(string[] args) {
      var input = Console.ReadLine()?.Split();
      var n = int.Parse(input![0]);
      var k = int.Parse(input![1]);
      var a = int.Parse(input![2]);
      var b = int.Parse(input![3]);
      var elevTime = Math.Abs(1 - k) * b + (n - 1) * b;
      var stairTime = (n - 1) * a;
      Console.WriteLine($"{elevTime} {stairTime}");
    }
  }
}
[ C++ ] 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <bits/stdc++.h>
using namespace std;
int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);
  int n, k, a, b; cin >> n >> k >> a >> b;
  int elevTime = abs(1 - k) * b + (n - 1) * b;
  int stairTime = (n - 1) * a;
  cout << elevTime << " " << stairTime << "\n";
  return 0;
}