注意格式问题 有个问题就是为什么没有求右边最小的都要比他大 不过求一下应该问题也不大 严谨一些
#include<bits/stdc++.h>
using namespace std;
const int MAXN = 100010;
int a[MAXN];
int maxleft[MAXN];
int minright[MAXN];
vector<int> ans;
int b[MAXN];
int main(void)
{
freopen("pat0314/in.txt","r",stdin);
int n;
cin>>n;
for(int i = 0;i<n;i++)
{
cin>>a[i];
b[i] = a[i];
}
sort(a,a + n);
int maxnum = 0;
for(int i = 0;i<n;i++)
{
if(b[i] == a[i] && b[i] > maxnum)
{
ans.push_back(b[i]);
}
if(b[i] > maxnum)
{
maxnum = b[i];
}
}
printf("%d\n",ans.size());
for(int i = 0;i<ans.size();i++)
{
if(i == 0)
{
printf("%d",ans[i]);
}
else
{
printf(" %d",ans[i]);
}
}
return 0;
// maxleft[0] = a[0] - 1;
// for(int i = 1;i<n;i++)
// {
// if(a[i] > maxleft[i - 1])
// {
// maxleft[i] = a[i];
// }
// else
// {
// maxleft[i] = maxleft[i - 1];
// }
// }
// minright[n - 1] = a[n - 1];
// for(int i = n - 2;i>=0;i--)
// {
// if(a[i] < minright[i + 1])
// {
// minright[i] = a[i];
// }
// else
// {
// minright[i] = minright[i + 1];
// }
// }
}