245972026-02-12 22:18:45pirosmacska10Síkság (55)cpp17Elfogadva 55/5514ms1792 KiB
#include <iostream>
#include <vector>
#include <algorithm>
#include <climits>
#include <string>
#include <cmath>
#include <queue>

using namespace std;
using ll=long long;

const ll INF=LLONG_MAX;
int main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int n;
    cin >> n;
    vector<int> nums(n);
    for(int i = 0; i < n; i++) {
        cin >> nums[i];
    }   


    vector<int> dp1(n);
    vector<int> dp2(n);
    dp1[0] = 1;
    dp2[0] = 1;
    for(int i = 1; i < n; i++) {
        if(nums[i] == nums[i-1]) {
            dp1[i] = dp1[i-1]+1;
            dp2[i] = dp2[i-1]+1;
        } else {
            if(nums[i] == nums[i-1]+1) {
                dp2[i] = dp1[i-1]+1;
                dp1[i] = 1;
            }
            else if(nums[i] == nums[i-1]-1) {
                dp2[i] = 1;
                dp1[i] = dp2[i-1]+1;
            }
            else {
                dp1[i] = 1;
                dp2[i] = 1;
            }
        }
    }
    int maxx = 0;
    int maxx_start = 0;
    for(int i = 0; i < n; i++) {
        if(dp1[i] > maxx) {
            maxx = dp1[i];
            maxx_start = i-maxx+1;
        }
        if(dp2[i] > maxx) {
            maxx = dp2[i];
            maxx_start = i-maxx+1;
        }
    }
    cout << maxx << " " << maxx_start+1;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base55/55
1Elfogadva0/01ms316 KiB
2Elfogadva0/02ms332 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms508 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva3/31ms316 KiB
8Elfogadva2/21ms508 KiB
9Elfogadva3/31ms508 KiB
10Elfogadva3/32ms500 KiB
11Elfogadva3/32ms316 KiB
12Elfogadva3/32ms564 KiB
13Elfogadva3/314ms1596 KiB
14Elfogadva3/310ms1596 KiB
15Elfogadva3/312ms1596 KiB
16Elfogadva3/314ms1616 KiB
17Elfogadva3/314ms1792 KiB
18Elfogadva3/314ms1588 KiB
19Elfogadva3/314ms1792 KiB
20Elfogadva3/314ms1588 KiB
21Elfogadva3/38ms820 KiB
22Elfogadva3/310ms1528 KiB