227222026-01-15 17:12:57szabelrSíkság (55)cpp17Elfogadva 55/5514ms832 KiB
#include <iostream>
#include <vector>
#include <deque>
using namespace std;
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int n; cin >> n;
    vector<int>nums(n);
    for (int i = 0; i < n; i++)
    {
        int x; cin >> x;
        nums[i] = x;
    }
    int l = 0, r = 0;
    int best_dist = 0;
    int start=0;
    deque<int> maxq, minq;
    while (r < nums.size())
    {
        while (!maxq.empty() and nums[maxq.back()] < nums[r])
            maxq.pop_back();
        while (!minq.empty() and nums[minq.back()] > nums[r])
            minq.pop_back();
        maxq.push_back(r);
        minq.push_back(r);
        if (nums[maxq.front()] - nums[minq.front()] > 1)
        {
            if (maxq.front() == l) maxq.pop_front();
            if (minq.front() == l) minq.pop_front();
            l++;
        }
        if (r - l + 1 > best_dist)
        {
            best_dist = r - l + 1;
            start = l + 1;
        }
        r++;
    }
    cout << best_dist << " " << start;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base55/55
1Elfogadva0/01ms316 KiB
2Elfogadva0/02ms316 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva3/31ms316 KiB
8Elfogadva2/21ms316 KiB
9Elfogadva3/31ms316 KiB
10Elfogadva3/32ms332 KiB
11Elfogadva3/32ms316 KiB
12Elfogadva3/32ms468 KiB
13Elfogadva3/313ms820 KiB
14Elfogadva3/38ms832 KiB
15Elfogadva3/310ms820 KiB
16Elfogadva3/313ms828 KiB
17Elfogadva3/313ms828 KiB
18Elfogadva3/313ms820 KiB
19Elfogadva3/313ms820 KiB
20Elfogadva3/314ms820 KiB
21Elfogadva3/38ms756 KiB
22Elfogadva3/39ms820 KiB