题意:再给定的序列中找出一组最短的无序子序列
#include<iostream>
#include<algorithm>
#include<string>
#include<cstring>
#include<map>
#include<queue>
#include<cmath>
#include<stack>
#include<vector>
#include<cstdio>
#define MAXN 33000
#define INF 0x3f3f3f3f
#define lmid l,m,rt<<1
#define rmid m+1,r,rt<<1|1
#define ls rt<<1
#define rs rt<<1|1
#define Mod 1000000007
#define i64 __int64
#define LIMIT_ULL 100000000000000000
using namespace std;
i64 s[100005];
int main()
{
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%I64d",&s[i]);
for(int i=2;i<n;i++)
{
if((s[i+1]-s[i])*(s[i]-s[1])<0)
{
//cout<<(s[i+1]-s[i])*(s[i]-s[1])<<endl;
cout<<3<<endl;
cout<<1<<" "<<i<<" "<<i+1<<endl;
return 0;
}
}
cout<<0<<endl;
}