pbinfo problema #3391
Cerința
Se citește un număr n și apoi n numere naturale cu maxim 9 cifre. Știind că n este dat par, să se determine de câte ori maximul din prima jumătate apare în șir în a doua jumătate.
Date de intrare
Programul citeşte din fișierul sirmaxim.in un număr n, apoi n numere narurale.
Date de ieșire
Programul va scrie în fisierul sirmaxim.out un număr natural, reprezentând valoarea cerută.
Restricții și precizări
1 ≤ n ≤ 20
n par
Exemplu
sirmaxim.in
6
1 5 2 13 5 5
sirmaxim.out
2
Răspunsuri la întrebare
Răspuns:
#include <bits/stdc++.h>
using namespace std;
int n, nr, maxi = -1, aparitii;
int main()
{
ifstream f("sirmaxim.in");
ofstream g("sirmaxim.out");
f >> n;
for(int i = 1; i <= n / 2; i++) {
f >> nr;
if(nr > maxi) {
maxi = nr;
}
}
for(int i = n / 2 + 1; i <= n; i++) {
f >> nr;
if(nr == maxi) {
aparitii++;
}
}
g << aparitii;
return 0;
}
Explicație:
Citim prima jumatate, calculam maximul, apoi citim a doua jumatate si vedem cate din numerele citite sunt aceleasi cu maximul gasit.
Răspuns:
#include <fstream>
using namespace std;
int n, i, x, maxim, sol;
int main () {
ifstream fin ("sirmaxim.in");
ofstream fout("sirmaxim.out");
fin>>n;
for (i=1;i<=n;i++) {
fin>>x;
if (i <= n/2)
if (x > maxim)
maxim = x;
if (i>n/2 && x == maxim)
sol++;
}
fout<<sol;
return 0;
}
Explicație:
Este de 100p.