|
Sva pitanja, predloge ili primedbe u vezi sa takmičenjima iz programiranja
možete slati na e-mail:
tak.prog@gmail.com
U toku perioda za žalbe, sve žalbe možete slati na ovaj isti e-mail.
|
logo by Igor Antolović
|
|
|
zadatak: Will Rogers
|
Will Rogers fenomen se dobija kada se element iz jednog skupa prebaci u drugi, pri čemu se srednje vrednosti oba
skupa povećaju. Baziran je na citatu Willa Rogera:
Kada su Okie (domorovci) napustile Oklahomu i preselili se u Kaliforniju, podigli su prosečan nivo
inteligencije u obe države.
Data su dva skupa prirodnih brojeva a i b veličine n odnosno m.
Naći broj elemenata skupa a koji prebacivanjem u skup b povećavaju prosečnе vrednosti oba skupa.
Ulaz.
(Ulazni podaci se učitavaju sa standardnog ulaza.)
U prvom redu standarnog ulaza nalaze se dva prirodna broja n i m (2 ≤ n, m ≤ 5000).
Naredna dva reda sadrže po n i m prirodnih brojeva koji predstavljaju elemente nizova
a i b, redom. Elementi nizova su iz segmenta [1, 1000].
Izlaz.
(Izlazne podatke ispisati na standardan izlaz.)
U prvom i jedinom redu standardnog izlaza ispisati traženi broj.
Primer 1.
standardni ulaz
|
|
standardni izlaz
|
3 3
6 5 4
1 2 3
|
|
1
|
Objašnjenje.
Jedini element koji zadovoljava uslove je broj: 4.
|
|
fajl: willrogers.cpp
|
#include<stdio.h>
#define MAX_N 5005
int n, m, a [MAX_N], b [MAX_N], sol;
double avgA, avgB;
void input()
{
scanf ("%d %d", &n, &m);
for (int i = 0; i < n; i++)
scanf ("%d", &a [i]);
for (int i = 0; i < m; i++)
scanf ("%d", &b [i]);
}
void solve()
{
avgA = 0;
for (int i = 0; i < n; i++)
avgA += a [i];
avgA = avgA / n;
avgB = 0;
for (int i = 0; i < m; i++)
avgB += b [i];
avgB = avgB / m;
sol = 0;
for (int i = 0; i < n; i++)
if ((a [i] < avgA) && (avgB < a [i]))
sol++;
}
int main()
{
input();
solve();
printf ("%d\n", sol);
return 0;
}
|
|
|