21452022-12-25 10:18:21samatInverziócpp11Hibás válasz 1/50326ms11288 KiB
#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;

int main() {
  // Bemenet olvasása
  int n;
  cin >> n;

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

  // Keresés a maximális távolságú inverzióra
  int max_distance = 0;
  pair<int, int> max_inversion;
  vector<int> sorted(a);
  sort(sorted.begin(), sorted.end());
  for (int i = 0; i < n; i++) {
    int j = lower_bound(sorted.begin(), sorted.end(), a[i]) - sorted.begin();
    int distance = n - j - 1;
    if (distance > max_distance) {
      max_distance = distance;
      max_inversion = {i, n-1};
    }
  }

  // Kimenet írása
  if (max_distance == 0) {
    cout << -1 << endl;
  } else {
    cout << max_inversion.first+1 << " " << max_inversion.second+1 << endl;
  }

  return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base1/50
1Hibás válasz0/03ms1680 KiB
2Hibás válasz0/023ms2632 KiB
3Elfogadva1/12ms2012 KiB
4Hibás válasz0/23ms2140 KiB
5Hibás válasz0/72ms2304 KiB
6Hibás válasz0/228ms3200 KiB
7Hibás válasz0/2224ms10700 KiB
8Hibás válasz0/2324ms10552 KiB
9Hibás válasz0/2326ms10444 KiB
10Hibás válasz0/2305ms10476 KiB
11Hibás válasz0/2305ms10672 KiB
12Hibás válasz0/2300ms10620 KiB
13Hibás válasz0/2305ms10872 KiB
14Hibás válasz0/2307ms11080 KiB
15Hibás válasz0/2225ms11008 KiB
16Hibás válasz0/2307ms11288 KiB
17Hibás válasz0/2307ms11208 KiB
18Hibás válasz0/2307ms11240 KiB
19Hibás válasz0/3225ms11208 KiB
20Hibás válasz0/3225ms11212 KiB
21Hibás válasz0/2224ms11212 KiB
22Hibás válasz0/2305ms11212 KiB
23Hibás válasz0/2307ms11212 KiB
24Hibás válasz0/2216ms11208 KiB