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, a
1
, a
2
,…, a
N
lungimile fragmentelor primite de Ana şi b
1
, b
2
,…, b
N
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; }