AcWing 4279. 笛卡尔树-不建树 直接BFS搜索
原题链接
简单
作者:
fspeed
,
2022-06-23 16:45:33
,
所有人可见
,
阅读 241
#include <bits/stdc++.h>
using namespace std;
int n, a[100];
queue<pair<int, int>> q;
int main()
{
cin >> n;
for(int i=0;i<n;i++)
cin >> a[i];
q.push({0, n-1});
while(!q.empty())
{
pair<int, int> p = q.front();
q.pop();
int le = p.first;
int ri = p.second;
if(le > ri)
continue;
int mi = a[le];
int mii = le;
for(int i=le;i<=ri;i++)
{
if(a[i] < mi)
{
mi = a[i];
mii = i;
}
}
cout << mi << " ";
q.push({le, mii-1});
q.push({mii+1, ri});
}
return 0;
}