1253 - 좋다

2025. 2. 22. 20:57PS/백준

문제

https://www.acmicpc.net/problem/1253

느낀점

응용 투포인터 문제, 문제의 조건을 잘 생각해서 엣지 케이스를 생각해보자. 그것도 연습이다~~

풀이

#include <algorithm>
#include <iostream>
#include <vector>

using namespace std;

int main()
{
    int N;
    cin >> N;
    if (N <= 2)
    {
        cout << 0;
        return 0;
    }

    vector<long long> arr(N);
    for (int i = 0; i < N; i++)
    {
        cin >> arr[i];
    }

    sort(arr.begin(), arr.end());

    int good = 0;

    for (int i = 0; i < N; i++)
    {
        long long target = arr[i];
        vector<long long> temp = arr;
        temp.erase(temp.begin() + i);
        int start = 0, end = temp.size() - 1;
        while (start < end)
        {

            long long sum = temp[start] + temp[end];
            if (sum > target)
            {
                end--;
            }
            else if (sum < target)
            {
                start++;
            }
            else
            {
                good++;
                break;
            }
        }
    }

    cout << good;

    return 0;
}

'PS > 백준' 카테고리의 다른 글

24523 - 내 뒤에 나와 다른 수  (0) 2025.02.24
1806 - 부분합  (0) 2025.02.23
18114 - 블랙 프라이데이  (0) 2025.02.19
17609 - 회문  (0) 2025.02.18
14921 - 용액 합성하기  (0) 2025.02.18