78712024-01-11 14:33:09AblablablaLeghosszabb béke (75 pont)cpp17Hibás válasz 33/7567ms5020 KiB
#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n, m;
    cin >> n >> m;

    vector<int> szamok(n + 1, 0);
    for(int i = 0; i < m; i++){
        int a, b;
        cin >> a >> b;
        a--;

        szamok[a]++;
        szamok[b]--;
    }

    vector<bool> jelenleg(n, 0);
    int akt = 0;
    for(int i = 0; i < n; i++){
        akt += szamok[i];
        jelenleg[i] = (akt == 0);
    }

    int kezdes = 0;
    int maxi = 0;
    int maxInd = -1;
    bool volt = 0;

    for(int i = 0; i < n; i++){
        if(jelenleg[i]){
            volt = 1;
            continue;
        }

        int hossz = i - kezdes;
        if(hossz > maxi){
            maxi = hossz;
            maxInd = kezdes;
        }
        kezdes = i + 1;
    }

    int hossz = n - 1 - kezdes;
    if(hossz > maxi){
        maxi = hossz;
        maxInd = kezdes;
    }

    if(volt){
        cout << maxi << " " << maxInd + 1 << "\n";
    } else{
        cout << "-1\n";
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base33/75
1Elfogadva0/03ms1812 KiB
2Hibás válasz0/067ms2876 KiB
3Elfogadva3/33ms2228 KiB
4Elfogadva3/33ms2432 KiB
5Hibás válasz0/33ms2684 KiB
6Elfogadva3/33ms2884 KiB
7Hibás válasz0/32ms2996 KiB
8Hibás válasz0/43ms2972 KiB
9Hibás válasz0/43ms3116 KiB
10Hibás válasz0/43ms3236 KiB
11Hibás válasz0/46ms3112 KiB
12Hibás válasz0/47ms3220 KiB
13Hibás válasz0/46ms3188 KiB
14Hibás válasz0/46ms3404 KiB
15Hibás válasz0/47ms3368 KiB
16Elfogadva4/48ms3672 KiB
17Elfogadva4/48ms3948 KiB
18Elfogadva4/48ms4160 KiB
19Hibás válasz0/461ms4872 KiB
20Elfogadva4/461ms5020 KiB
21Elfogadva4/459ms4896 KiB
22Elfogadva4/461ms4892 KiB