자라는 개발자/문제풀이

백준 c++ 1940 주몽

자란다 2022. 7. 2. 23:57
728x90
반응형

1940 주몽


문제풀이

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
void fast_io(void)
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
}
int n, m,res;
vector<int> arr;
int main(void)
{
    fast_io();
    cin >> n >> m;
    arr.resize(n);
    int l = 0, r = n - 1;
    for (int i = 0; i < n;i++)
        cin >> arr[i];
    sort(arr.begin(), arr.end());
    while (l<r)
    {
        if(arr[l]+arr[r] == m)
            res++,l++, r--;
        else if (arr[l] + arr[r] > m)
            r--;
        else if (arr[l] + arr[r] < m)
            l++;
    }
    cout << res;
}

정렬한 뒤 양쪽 끝을 더해가며 경우에 따라 l 과 r 값을 수정해주었다.

728x90
반응형