별의 공부 블로그 🧑🏻‍💻
728x90
728x170

문제

부산일과학고등학교의 효진이는 수학의 귀재이다. 어떤 문제라도 보면 1분 내에 풀어버린다는 학교의 전설이 내려올 정도였는데, 이런 킹ㅡ갓 효진에게도 고민이 생겼다. 대부분의 문제에서 반복되는 연산이 있었기 때문이다! 이 연산은 너무 길어서 종이에 풀던 효진이는 너무 고통스러워서, 자신이 새로 연산자를 만들기로 했다.


연산자의 기호는 @으로, A@B = (A+B)×(A-B)으로 정의내리기로 했다.


하지만, 효진이는 막상 큰 숫자가 들어오자 계산하기 너무 귀찮아졌다.


효진이를 도와 정수 A, B가 주어지면 A@B를 계산하는 프로그램을 만들어주자!

 

 

입력

첫째 줄에 A, B가 주어진다. (1 ≤ A, B ≤ 100,000)

 

 

출력

첫째 줄에 A@B의 결과를 출력한다.



서브태스크 1 (30점)

A, B ≤ 1,000



브태스크 2 (70점)

문제에서 주어진 제약 조건 외 제한 없음

 

 

예제 입력 1

 4 3

 

예제 출력 1

 7

 


예제 입력 2

 3 4

 

예제 출력 2

 -7

 

 

힌트

 

 

출처

High School > 부산일과학고 > BSIS배 Code Festival C번

· 문제의 오타를 찾은 사람: jh05013

 

 

채점

예제는 채점하지 않는다.

 

 

코드

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;
 
int main()
{
    long long int A, B, sum, min;
 
    cin >> A >> B;
    sum = A + B;
    min = A - B;
    cout << sum * min << endl;
    
    return 0;






맨 처음에는 자료형을 int로 선언하여 문제를 풀었었다. 하지만 서브태스크 1만 통과하게 되어 30점만 얻을 수 밖에 없었다.

그래서 자료형을 long long int로 선언하여 문제를 풀었고, 서브태스크 2(자릿수가 더 큰 숫자를 입력을 받는 경우)도 통과하게 되어 100점을 얻을 수 있었다. 


여기서 다시 알아보는 자료형 int와 long long int의 최댓값!


int : 2^31 - 1 = 21,4748,3647

long long int : 2^61 - 1 = 922,3372,0368,5477,5807

728x90
그리드형(광고전용)
⚠️AdBlock이 감지되었습니다. 원할한 페이지 표시를 위해 AdBlock을 꺼주세요.⚠️
starrykss
starrykss
별의 공부 블로그 🧑🏻‍💻


📖 Contents 📖