[c++] 백준 1059번

알감자·2022년 4월 26일
0

백준알고리즘

목록 보기
19/52

#1059


b_count라는 bool 변수를 이용해서 만약 S 집합의 수와 n이 같다면 b_count = false 해주어 0을 출력해주었다.
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main() 
{
	int L, n, temp;
	int right_num, left_num = 1, count = 0;
	int b_count = false;
	vector<int> vec;

	cin >> L;

	for (int i = 0; i < L; i++)
	{
		cin >> temp;
		vec.push_back(temp);
	}

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

	cin >> n;

	//n의 왼쪽, 오른쪽 수를 찾음
	for (int i = 0; i < L; i++)
	{
		if (n < vec[i])
		{
			right_num = vec[i];
			left_num = vec[i - 1];
			b_count = true;
			break;
		}
		else if (n == vec[i])
		{
			b_count = false;
			break;
		}
	}

	if (!b_count)
		cout << "0\n";
	else
	{
		cout << (right_num - n) * (n - left_num) - 1;
	}
}

0개의 댓글