Cerința
CRB are un șir cu n
numere naturale diferite. Nu știe ce să facă cu ele și le aranjează în ordine descrescătoare. Apoi observă că anumite numere se află pe aceeași poziție ca în șirul inițial. Ajutați pe CRB să determine câte elemente din șir respectă această regulă.
Date de intrare
Fișierul de intrare crb.in
conține pe prima linie numărul n
, iar pe a doua linie n
numere naturale separate prin spații, reprezentând elementele șirului inițial.
Date de ieșire
Fișierul de ieșire crb.out
va conține pe prima linie numărul C
, reprezentând numărul de elemente care ocupă aceeași poziție în șirul inițial și în cel sortat.
Restricții și precizări
1 ≤ n ≤ 1000
- numerele de pe a doua linie a fișierului de intrare vor fi mai mici decât
1.000.000
Exemplu
crb.in
7 1 8 2 6 4 7 9
crb.out
3
Explicație
Cele trei elemente sunt 8
, 6
și 4
.
#include <bits/stdc++.h> using namespace std; ifstream fin("crb.in"); ofstream fout("crb.out"); int main() { int n; fin >> n; int a[1000]; int b[1000]; int cnt=0; for(int i = 0 ; i < n ; ++i) { fin >> a[i]; b[i]=a[i]; } sort(b , b+n); for(int i = 0 ; i < n ; ++i) { if(a[i]==b[n-i-1]) cnt++; } fout << cnt; return 0; }