fork download
  1. #include <bits/stdc++.h>
  2. #define ll long long
  3. #define f first
  4. #define s second
  5. const ll mod = 1000000007;
  6. using namespace std;
  7. vector<int>v;
  8. int n,d;
  9. int a[300005],l[300005];
  10. void iswn(){
  11. cin >> n;
  12. for(int i = 1;i <= n;i++)cin >> a[i];
  13. bool ok = 0;
  14. set<int>st;st.insert(a[1]);
  15. for(int i = 2;i <= n;i++){
  16. auto cs = st.lower_bound(a[i]);
  17. if(cs != st.end()){
  18. l[i] = *cs;
  19. }
  20. else l[i] = -1;
  21. st.insert(a[i]);
  22. }
  23. st.clear();st.insert(a[n]);
  24. for(int i = n-1;i >= 2;i--){
  25. auto cs = st.upper_bound(l[i]);
  26. if(l[i] != -1 && cs != st.end()){
  27. ok = 1;
  28. break;
  29. }
  30. st.insert(a[i]);
  31. }
  32. if(ok)v.push_back(d);
  33. }
  34. int main(){
  35. ios_base::sync_with_stdio(0);
  36. cin.tie(0);cout.tie(0);
  37. if(fopen("BAIB.INP","r")){
  38. freopen("BAIB.INP","r",stdin);
  39. freopen("BAIB.OUT","w",stdout);
  40. }
  41. int ts = 1;cin >> ts;
  42. for(d = 1;d <= ts;d++)iswn();
  43. cout << v.size() << '\n';
  44. for(int i = 0;i < v.size();i++)cout << v[i] << '\n';
  45. return 0;
  46. }
Success #stdin #stdout 0.01s 5292KB
stdin
Standard input is empty
stdout
0