jakaria_hossain

codeforces - make it good

Jul 17th, 2020
796
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long
  4. #define fast()(ios_base::sync_with_stdio(0),cin.tie(NULL));
  5. int main()
  6. {
  7.     fast();
  8.     ll t;
  9.     cin>>t;
  10.     while(t--)
  11.     {
  12.  
  13.         ll n;
  14.         cin>>n;
  15.         ll ara[n+1],i,j;
  16.         map<ll , ll>mp;
  17.         ll mx=-1;
  18.         for(i=0;i<n;i++)
  19.         {
  20.             cin>>ara[i];
  21.         }
  22.         i=0,j=n-1;
  23.         vector<ll>v;
  24.         while(i<=j)
  25.         {
  26.             if(v.empty())
  27.             {
  28.                 v.emplace_back(0);
  29.             }
  30.             if(i==j)
  31.             {
  32.                 if(ara[i]>=v[v.size()-1])v.emplace_back(ara[i]);
  33.                 else
  34.                 {
  35.                     v.clear();
  36.                     mx=i;
  37.                     j=n ;
  38.                 }
  39.                 i++,j--;
  40.             }
  41.             else if(ara[i]<ara[j])
  42.             {
  43.                 //cout<<v[v.size()-1]<<" "<<ara[i]<<endl;
  44.                 if(ara[i]>=v[v.size()-1])v.emplace_back(ara[i]);
  45.                 else
  46.                 {
  47.                     v.clear();
  48.                     mx=i-1;
  49.                     j=n-1;
  50.                     i--;
  51.                 }
  52.                 i++;
  53.  
  54.  
  55.             }
  56.             else if(ara[j]<=ara[i])
  57.             {
  58.                 //cout<<v[v.size()-1]<<" "<<ara[j]<<endl;
  59.                 if(ara[j]>=v[v.size()-1])v.emplace_back(ara[j]);
  60.                 else
  61.                 {
  62.                     v.clear();
  63.                     mx=i;
  64.                     j=n;
  65.                     i++;
  66.                 }
  67.                 j--;
  68.             }
  69.         }
  70.         if(mx>=0)cout<<mx+1<<endl;
  71.         else cout<<0<<endl;
  72.  
  73.     }
  74. }
RAW Paste Data