카테고리 없음
[BOJ][C++] 백준 26091번: 현대모비스 소프트웨어 아카데미 (Silver I)
선달
2025. 5. 13. 01:53
반응형
문제
현대모비스에서 소프트웨어 아카데미 견학생을 모집한다고 한다. 이번 견학 활동은 모두 팀 단위로 진행되며 아래 두 조건을 모두 만족하는 팀만 소프트웨어 아카데미를 견학할 수 있다.
Sogang ICPC Team 학회원 $N$명이 견학을 희망한다. 학회장 동건이는 $N$명으로 최대한 많은 팀을 만들어 견학을 보내고 싶다. 동건이가 최대 몇 팀이나 견학 보낼 수 있을지 구해보자.
입력
첫째 줄에 견학을 희망하는 학회원의 수 $N$과 견학하는 팀의 최소 능력치를 나타내는 정수 $M$이 공백으로 구분되어 주어진다. ($1 \le N \le 100\,000$, $1 \le M \le 10^9$)
둘째 줄에 학회원 $N$명의 능력치를 나타내는 $N$개의 정수 $a_1,a_2, \cdots, a_N$이 공백으로 구분되어 주어진다. ($1 \le a_i \le 10^9$)
출력
첫째 줄에 동건이가 견학 보낼 수 있는 최대 팀 수를 출력한다.
풀이
// 풀이 : https://whkakrkr.tistory.com
#include <bits/stdc++.h>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cout.tie(NULL);
cin.tie(NULL);
int n,m;
cin >> n >> m;
vector<int>a(n);
for(int i=0; i<n; i++) {
cin >> a[i];
}
sort(a.begin(), a.end());
int ans=0, left=0, right=n-1;
while(left<right) {
if(a[left]+a[right] >= m) {
ans++;
left++;
right--;
} else {
left++;
}
}
cout << ans;
return 0;
}
반응형