fbpx

Problema #1665 – pozitieSir – Rezolvari PBInfo

de Mihai-Alexandru

Cerința

Considerăm şirul a cu n numere naturale nenule distincte două câte două şi un număr x. Scrieţi un program care determină poziţia pe care se va găsi numărul x în şirul a, dacă acesta ar fi ordonat descrescător.

Date de intrare

Programul citește de la tastatură numerele n şi x, urmate de n numere naturale reprezentând elementele şirului a.

Date de ieșire

Programul va afișa pe ecran poziţia determinată mai sus. Dacă numărul x nu se regăseşte în şir, valoarea afişată va fi -1.

Restricții și precizări

  • 1 ≤ n < 200000
  • cele n numere citite vor fi mai mici decât 10 9
  • considerăm elementele şirului a numerotate de la 1 la n

Exemple:

Intrare

9 13
26 2 5 30 13 45 62 7 79

Ieșire

6

Dacă sortăm şirul a descrescător obţinem şirul (79,62,45,30,26,13,7,5,2). Valoarea 13 se află pe poziţia 6.

#include <bits/stdc++.h>

using namespace std;
int main()
{
    int x , n , k , cnt = 0 , ok = 0;
    cin >> n >> k;
    for(int i = 1 ; i <= n ; ++i)
    {
        cin >> x;
        if(x > k) cnt++;
        if(x == k) ok++;
    }
    if(ok == 0) cout << -1;
    else cout << cnt + 1;
    return 0;
}
Comentarii

S-ar putea sa iti placa