Staţia meteorologică “Toaca” din Masivul Ceahlău a fost de câţiva ani automatizată. Înainte, urca zilnic meteorologul de serviciu pentru a culege valorile temperaturilor de peste zi, lucru destul de anevoios deoarece traseul este dificil. Acum toate informaţiile despre temperatură se centralizează automat la Bacău din 30 în 30 de minute. Un site preia un număr de nr valori şi face publică pe Internet o situaţie a mediei aritmetice a celor mai scăzute n valori distincte de temperatură şi a mediei aritmetice a celor mai ridicate p valori distincte de temperatură dintre cele nr.
Cerinţă
Cunoscându-se n, p, nr şi valorile temperaturilor, scrieţi un program care calculează partea întreagă a celor două medii aritmetice.
Date de intrare
Fişierul meteo.in conţine pe prima linie cele două valori pentru n şi p, pe a doua linie valoarea nr reprezentând numărul de valori preluate, iar pe următoarele nr linii câte o valoare de temperatură.
Date de ieşire
Fişierul meteo.out va conţine pe prima linie două valori naturale mn mp, separate printr-un spaţiu, ce reprezintă valoarea mediei aritmetice a celor n cele mai scăzute valori distincte (mn), respectiv valoarea mediei aritmetice a celor p cele mai ridicate valori distincte (mp).
Restricţii
• 0 < n < 30
• 0 < p < 30
• Valorile temperaturilor centralizate au valori între -50 şi 40, ele fiind valori întregi.
• În datele de test există cel puţin max(n, p) valori.
• max(n, p) ≤ nr < 100000
Exemple
meteo.in meteo.out Explicaţii
2 3
9
3
5
4
3
-1
-3
-3
0
1
-2 4
(-1-3)/2=-2
(3+4+5)/3=4
IMI DA 10 PCT DC?
nclude
#include
#include
#include
using namespace std;
int n,p,nr,i,v[100003],s=0,s2=0,e,r,t,x=0;
int main()
{
ifstream f ("meteo.in");
ofstream g("meteo.out");
f>>n>>p>>nr;
e=n;
r=p;
v[0]=99999;
for(i=1;i<=nr;i++)
{
f>>t;
if(t!=v[i-1])
{
x++;
v[x]=t;
}
}
sort(v+1,v+x+1);
for(i=1;i<=x;i++)
{
if(n!=0)
{
s=s+v[i];
n--;
}
else
break;
}
g<
for(i=x;i>=1;i--)
{
if(p!=0)
{
s2=s2+v[i];
p--;
}
else
break;
}
g<
}
Calausx:
cifra zero intra la valori pozitive sau negative?
Răspunsuri la întrebare
Răspuns de
1
#include<bits/stdc++.h>using namespace std;ifstream in("input.txt");ofstream out("output.txt");typedef long long ll;typedef string str;typedef char chr;#define save1 in.close()#define save2 out.close()#define bs bitset#define opt1 ios_base::sync_with_stdio(0)#define opt2 cin.tie(0)#define opt3 cout.tie(0)#define fi first#define se second#define vi vector<int>#define pii pair<int,int>#define pil pair<int,ll>#define pli pair<ll,int>#define pll pair<ll,ll>#define MP make_pair#define pb push_backdouble v[105];int main(){int n,a,b,i;double sum=0,a1=0;opt1;opt2;opt3;cin>>a>>b>>n;a1=a;--a;for(i=1;i<=n;++i) cin>>v[i];sort(v+1,v+n+1);sum=v[1];i=2;while(a) {if(v[i]!=v[i-1]) --a,sum+=v[i]; ++i;}cout<<floor(sum/a1)<<" ";i=n-1;a1=b;--b;sum=v[n];while(b) {if(v[i]!=v[i+1]) sum+=v[i],--b; --i;}cout<<floor(sum/a1);save1;save2;return 0;}
Alte întrebări interesante
Engleza,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Fizică,
9 ani în urmă
Informatică,
9 ani în urmă
Matematică,
9 ani în urmă
Chimie,
9 ani în urmă