#include <iostream>
#include<vector>
#include<math.h>
using namespace std;

void max_ele_apart_from_ith(vector<int>arr,vector<int>query,int n,int m)
{
    vector<int>prefixsum(n,0);
    vector<int>suffixsum(n,0);

    for(int i=0;i<n;i++)
    {
        prefixsum[i] = i==0 ? arr[i]:max(prefixsum[i-1],arr[i]);
    }
    
    for(int i=n-1;i>=0;i--)
    {
        suffixsum[i] = (i==n-1)?arr[i]:max(suffixsum[i+1],arr[i]); 
    }
   
    int res;
    for(auto itr:query)
        {
            res = max(prefixsum[itr-1],suffixsum[itr+1]);
            cout<<res<<endl;
        }
    
}



int main() {

    vector<int>arr;
    int n;int x;
    cin>>n;
    for(int i=0;i<n;i++)
        {
            cin>>x;
            arr.push_back(x);
        }
    vector<int>query;
    int m,y;
    cin>>m;
    for(int i=0;i<m;i++)
        {
          cin>>y;
           query.push_back(y);
        }
    
    max_ele_apart_from_ith(arr,query,n,m);
    
    return 0;
}

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: