Sort by

recency

|

18 Discussions

|

  • + 0 comments

    include

    using namespace std;

    string ltrim(const string &); string rtrim(const string &); vector split(const string &);

    /* * Complete the 'solve' function below. * * The function is expected to return an INTEGER_ARRAY. * The function accepts following parameters: * 1. INTEGER_ARRAY arr * 2. INTEGER_ARRAY queries */

    vector solve(vector arr, vector queries) { vector result;

    for (int k : queries) {
        deque<int> deq;
        vector<int> max_in_subarrays;
    
        for (int i = 0; i < arr.size(); ++i) {
            if (!deq.empty() && deq.front() == i - k) {
                deq.pop_front();
            }
    
            while (!deq.empty() && arr[deq.back()] <= arr[i]) {
                deq.pop_back();
            }
    
            deq.push_back(i);
    
            if (i >= k - 1) {
                max_in_subarrays.push_back(arr[deq.front()]);
            }
        }
    
        result.push_back(*min_element(max_in_subarrays.begin(), max_in_subarrays.end()));
    }
    
    return result;
    

    }

    int main() { ofstream fout(getenv("OUTPUT_PATH"));

    string first_multiple_input_temp;
    getline(cin, first_multiple_input_temp);
    
    vector<string> first_multiple_input = split(rtrim(first_multiple_input_temp));
    
    int n = stoi(first_multiple_input[0]);
    int q = stoi(first_multiple_input[1]);
    
    string arr_temp_temp;
    getline(cin, arr_temp_temp);
    
    vector<string> arr_temp = split(rtrim(arr_temp_temp));
    
    vector<int> arr(n);
    
    for (int i = 0; i < n; i++) {
        int arr_item = stoi(arr_temp[i]);
        arr[i] = arr_item;
    }
    
    vector<int> queries(q);
    
    for (int i = 0; i < q; i++) {
        string queries_item_temp;
        getline(cin, queries_item_temp);
    
        int queries_item = stoi(ltrim(rtrim(queries_item_temp)));
    
        queries[i] = queries_item;
    }
    
    vector<int> result = solve(arr, queries);
    
    for (size_t i = 0; i < result.size(); i++) {
        fout << result[i];
    
        if (i != result.size() - 1) {
            fout << "\n";
        }
    }
    
    fout << "\n";
    
    fout.close();
    
    return 0;
    

    }

    string ltrim(const string &str) { string s(str);

    s.erase(s.begin(), find_if(s.begin(), s.end(), not1(ptr_fun<int, int>(isspace))));
    
    return s;
    

    }

    string rtrim(const string &str) { string s(str);

    s.erase(find_if(s.rbegin(), s.rend(), not1(ptr_fun<int, int>(isspace))).base(), s.end());
    
    return s;
    

    }

    vector split(const string &str) { vector tokens;

    string::size_type start = 0;
    string::size_type end = 0;
    
    while ((end = str.find(" ", start)) != string::npos) {
        tokens.push_back(str.substr(start, end - start));
        start = end + 1;
    }
    
    tokens.push_back(str.substr(start));
    
    return tokens;
    

    }

  • + 0 comments

    As the routes lengthen, their point total increases. The player who constructs the longest uninterrupted route and those who complete Destination Tickets, which are goal cards that link faraway cities, both receive bonus points fireboy and watergirl.

  • + 1 comment

    At PopShoeOfficial, Jordan 4 Reps Selections we believe in offering nothing but the best, and our latest addition truly embodies the pinnacle of sneaker elegance.

  • + 0 comments

    Crisp white hues drape the pillowy side walls and inner bootie construction while bright evergreen shades encompass portions of the tread before concentrating along the heel. The Fake Travis Scott X Jordan Cut The Check "Reverse Mocha" Just Produce” tagline comes printed along the latter panel while the vertical 3-Stripes add a complimentary split between golden and white

  • + 0 comments

    With Mr. Range Finder, you can quickly and easily determine the exact distance between you and your target without any guesswork.In this article, we will dive deeper into what Mr. Range Finder is and how it works.What is Mr. Range Finder? more