47772023-03-31 12:11:20EyusieLeghosszabb béke (75 pont)cpp17Hibás válasz 3/75163ms4700 KiB
#include <bits/stdc++.h>

using namespace std;

#define MAXN (int)1e5

int n, k, m, l, mx, counter, indmx, indcur;
bool x, ag1, ag2;
bool a[MAXN + 1]{0};
int i;
int j = 1;

int main()
{
    iostream::sync_with_stdio(0);
    cin.tie(0);

    cin >> n >> k;
    for(; i < k; ++i)
    {
        cin >> m >> l;
        fill(a+m, a+l+1,1);
    }
    for(; j <= n; ++j)
    {
        /*
        if(a[j])
        {
            if(mx < counter)
            {
                indmx = indcur;
                mx = counter;
            }
            counter = 0;
        }
        else
        {
            if(counter == 0)
            {
                indcur = j;
                counter++;
            }
            else counter++;
        }*/

        ag1 = a[j];
        ag2 = !ag1;

        x = ag2*(!!counter) + ag1*(mx < counter);
        indmx = ag2*indmx + ag1*(indmx*!x + indcur*x);
        mx = ag2*mx + ag1*(mx*!x + counter*x);
        indcur = ag2*(indcur*!x + j*x) + ag1*indcur;
        counter = ag2*(counter+1);

        //cout << ag1 << " " << ag2 << "\n";
        //cout << x << " " << indmx << " " << mx << " " << indcur << " " << counter << "\n";


    }

    if(mx < counter)
    {
        mx = counter;
        indmx = indcur;
    }


    if(mx == 0)
    {
        cout << "-1";
    }
    else cout << mx << " " << indmx;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base3/75
1Hibás válasz0/03ms1772 KiB
2Hibás válasz0/032ms2292 KiB
3Elfogadva3/33ms2248 KiB
4Hibás válasz0/33ms2464 KiB
5Hibás válasz0/33ms2676 KiB
6Hibás válasz0/33ms2892 KiB
7Hibás válasz0/33ms3004 KiB
8Hibás válasz0/42ms3140 KiB
9Hibás válasz0/43ms3232 KiB
10Hibás válasz0/43ms3496 KiB
11Hibás válasz0/44ms3836 KiB
12Hibás válasz0/44ms3940 KiB
13Hibás válasz0/44ms4020 KiB
14Hibás válasz0/44ms4096 KiB
15Hibás válasz0/44ms4280 KiB
16Hibás válasz0/44ms4260 KiB
17Hibás válasz0/46ms4340 KiB
18Hibás válasz0/410ms4552 KiB
19Hibás válasz0/437ms4544 KiB
20Hibás válasz0/4157ms4696 KiB
21Hibás válasz0/4163ms4696 KiB
22Hibás válasz0/4136ms4700 KiB