[BOJ] #14929 - 귀찮아 (SIB)

👻 귀찮아 (SIB)

👉🏻 문제 보러가기 👈🏻


🌱 문제

Alt Text

  • 시간 제한 : 2초 (추가 시간 없음)
  • 메모리 제한 : 512 MB

🌱 입력

n과 xi가 주어짇나. n은 10만 이하ㅇ고, xi는 젗ㄹ댓값이 100이하인 정수디이다.
(n과 xi가 주어진다. n은 10만 이하이고, xi는 절댓값이 100이하인 정수이다.)


🌱 출력

위에서 구하란 걸 구하면 된ㄷ.
(위에서 구하란 걸 구하면 된다.)


🌱 예제


🪐 입출력 1

  • 입력
    3
    1 -2 3
    
  • 출력
    -5
    

👻 풀이

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
long long sum = 0;
long long total = 0;
int main()
{
    ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
    // 귀찮아 (SIB)
    int n;
    cin >> n;
    int x[n];
    for (int i = 0; i < n; i++) 
    {
        cin >> x[i];
        total += x[i];
    }
    for (int i = 0; i + 1 < n; i++)
        sum += x[i] * (total -= x[i]);
    cout << sum;
    return 0;
}
  • 시간 : 12 ms
  • 메모리 : 2288 KB

👻 글을 마치며

🤦🏻‍♀️.. 처음에 이중 for문을 사용해서 시간 초과가 떴고, 알고리즘을 수정했는데 계속 틀렸다고만 떴었다. 알고보니 합계의 타입을 모두 int로 해두어서 틀린 것이었다. 난 그것도 모르고 애꿎은 알고리즘만 바꿈.. ㅠㅠ 그래도 sum 타입을 long long으로 바꿔주니 바로 해결되었다.


소스코드 보러가기

Categories:

Updated:

Leave a comment