Ana şi Bogdan au găsit la bunicul lor o cutie cu N beţe de aceeaşi lungime. După câteva minute de joacă urmează cearta. Bunicul le-a propus să rupă cele N beţe și apoi Ana să primească fragmentele din mâna stângă, iar Bogdan fragmentele din mâna dreaptă. Zis şi făcut. Copiii au luat fragmentele, le-au numerotat fiecare cu numere de la 1 la N, le-au măsurat şi acum îşi doresc să lipească fragmentele primite, dar mai au nevoie de câteva informaţii.
Cerinţe
Cunoscând N numărul de beţe, a1, a2,…, aN lungimile fragmentelor primite de Ana şi b1, b2,…, bN lungimile fragmentelor primite de Bogdan, să se scrie un program care să determine:
a) lungimea iniţială a beţelor;
Exemplu
bete1.in
62 6 7 1 3 55 4 7 8 9 3
bete1.out
10161
Explicație
Lungimea iniţială este 10, lungimea maximă este 16 și se poate forma un singur băţ de lungime 16.
#include <bits/stdc++.h>
using namespace std;
ifstream fin("bete1.in");
ofstream fout("bete1.out");
int main()
{
int n;
fin >> n;
int a[10000];
int b[10000];
int cnt=0;
int s=0;
for(int i = 0 ; i < n ; ++i)
{
fin >> a[i];
s+=a[i];
}
for(int i = 0 ; i < n ; ++i)
{
fin >> b[i];
s+=b[i];
}
sort(a , a+n);
sort(b , b+n);
fout << s/n << endl;
fout << a[n-1]+b[n-1] << endl;
int max=a[n-1]+b[n-1];
for(int i = n-1 ; i >= 0 ; --i)
if(a[i]+b[i]==max)
cnt++;
fout << cnt;
fin.close();
fout.close();
return 0;
}