Какое время доступа к элементам карты в C ++ STL? Кроме того, сколько времени требуется, чтобы стереть элемент? - PullRequest
0 голосов
/ 07 мая 2020

https://practice.geeksforgeeks.org/problems/maximum-of-all-subarrays-of-size-k/0

Я вычислял Максимум для всех подмассивов размера k, но я получаю превышение лимита времени. Есть ли способ оптимизировать это решение?

ll t;
cin>>t;

while(t--)
{
    ll n,k;
    cin>>n>>k;

    ll arr[n];

    for(ll i=0;i<n;i++)
        cin>>arr[i];

    map<ll, ll> cnt;

    for(ll i=0;i<k;i++)
        cnt[arr[i]]++;

    for(ll i=0;i<=n-k;i++)
    {
        cout<<(--cnt.end())->first<<" ";

        cnt[arr[i]]--;
        if(cnt[arr[i]]<=0)
            cnt.erase(arr[i]);
        cnt[arr[i+k]]++;
    }

    cout<<endl;
}
...