Taene's
[분할정복] 백준-치킨 TOP N C++ 11582번 본문
https://www.acmicpc.net/problem/11582
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int N;
vector<int> chicken(N);
int k;
void sortingChicken(int num, vector<int> &chicken)
{
if (num == k)
{
for (int i = 0; i < chicken.size(); i++)
cout << chicken[i] << ' ';
return;
}
num /= 2;
int t = N / num;
for (int i = 0; i < chicken.size(); i += t)
{
sort(chicken.begin() + i, chicken.begin() + i + t);
}
sortingChicken(num, chicken);
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin >> N;
for (int i = 0; i < N; i++)
{
int temp;
cin >> temp;
chicken.push_back(temp);
}
cin >> k;
sortingChicken(N, chicken);
return 0;
}
'알고리즘 문제풀이 > 분할정복' 카테고리의 다른 글
[분할정복] 백준-칸토어 집합 C++ 4779번 (0) | 2025.02.06 |
---|