문제링크 : https://www.acmicpc.net/problem/1059
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
const int MAX = INT_MAX;
int L, n, arr[51];
int s, e, cnt;
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cin >> L;
for(int i=0; i<L; i++) cin >> arr[i];
cin >> n;
sort(arr, arr+L);
for(int i=0; i<L; i++)
{
if (n < arr[i])
{
s = arr[i-1] + 1; //시작점
e = arr[i] - 1; //끝점
break;
}
}
for(int i=s; i<=n; i++) //범위 내 갯수 카운팅
{
for(int j=n; j<=e; j++)
{
if(i==j) continue;
cnt++;
}
}
cout << cnt;
return 0;
}
입력받은 배열을 정렬해준 후, n이 현재 배열 값보다 작은 때를 기준으로 시작점과 끝점을 찾아준다.
해당 시작점과 끝점을 이용하여 범위 내 가능한 갯수를 카운팅해주고 이를 출력해준다.
5
4 8 13 24 30
10
10 < 13
s = 8+1, e = 13-1
9 -> 10, 11, 12
10 -> 11, 12
'백준 > 실버' 카테고리의 다른 글
[백준 5635번] 생일 (C++) (0) | 2024.04.02 |
---|---|
[백준 19621번] 회의실 배정 2 (C++) (0) | 2024.04.01 |
[백준 2012번] 등수 매기기 (C++) (0) | 2024.03.30 |
[백준 16435번] 스네이크버드 (C++) (0) | 2024.03.29 |
[백준 15565번] N과 M (11) (C++) (0) | 2024.03.28 |