fbpx

Problema #1051 – Bete1 – Rezolvari PBInfo

de Mihai-Alexandru

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;    
}
Comentarii

S-ar putea sa iti placa