209382026-01-11 15:18:30szabel26Legmesszebbi rossz sorrendű (35 pont)cpp17Hibás válasz 25/3548ms1572 KiB
#include <iostream>
#include <vector>
#include <algorithm>
//#include <fstream>
using namespace std;

//ifstream fin("be2.txt");

struct adat
{
    int nr, original_index, curr_max_index;
};

int comp(adat a, adat b)
{
    return a.nr < b.nr;
}

vector<adat> x;
pair<int, int> sol;
int n, i, maximum_dist, maximum_index;

int main()
{
    cin >> n;
    x.resize(n + 1);

    for (i = 1; i <= n; ++i)
    {
        cin >> x[i].nr;
        x[i].original_index = i;
    }

    sort(x.begin()+1, x.end(), comp);

    maximum_index = 0;
    for (i = 1; i <= n; ++i)
    {
        if (x[i].original_index > maximum_index)
        {
            maximum_index = x[i].original_index;
        }
        x[i].curr_max_index = maximum_index;
    }

    /* for (auto &e : x)
    {
        cout << e.nr << " ";
    }
    cout << endl;
    for (auto &e : x)
    {
        cout << e.original_index << " ";
    }
    cout << endl;
    for (auto &e : x)
    {
        cout << e.curr_max_index << " ";
    } */

    maximum_dist = 0;
    for (i = 1; i <= n; ++i)
    {
        int dist = x[i].curr_max_index - x[i].original_index;  // Since curr_max_index >= original_index, abs is unnecessary
        if (dist > maximum_dist || (dist == maximum_dist && x[i].original_index < sol.first))
        {
            maximum_dist = dist;
            sol.first = x[i].original_index;
            sol.second = x[i].curr_max_index;
        }
    }

    if (maximum_dist == 0)
        cout << -1;
    else
        cout << sol.first << " " << sol.second;

    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base25/35
1Elfogadva0/01ms316 KiB
2Elfogadva0/048ms1332 KiB
3Elfogadva1/11ms500 KiB
4Elfogadva1/11ms316 KiB
5Elfogadva1/11ms316 KiB
6Elfogadva1/11ms376 KiB
7Elfogadva1/11ms316 KiB
8Elfogadva1/11ms412 KiB
9Elfogadva1/12ms316 KiB
10Elfogadva1/12ms432 KiB
11Elfogadva1/12ms316 KiB
12Hibás válasz0/217ms820 KiB
13Hibás válasz0/220ms784 KiB
14Hibás válasz0/221ms820 KiB
15Hibás válasz0/214ms756 KiB
16Hibás válasz0/223ms820 KiB
17Elfogadva2/232ms1076 KiB
18Elfogadva2/239ms1332 KiB
19Elfogadva2/243ms1448 KiB
20Elfogadva2/243ms1524 KiB
21Elfogadva2/246ms1572 KiB
22Elfogadva2/248ms1332 KiB
23Elfogadva2/239ms1332 KiB
24Elfogadva2/239ms1332 KiB