Cod sursa(job #3338863)
| Utilizator | Data | 5 februarie 2026 12:20:12 | |
|---|---|---|---|
| Problema | Datorii | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.61 kb |
#include <bits/stdc++.h>
using namespace std;
long long A[15001];
long long arb[60001];
void construieste(int st, int dr, int nod) {
if (st == dr) {
arb[nod] = A[st];
return; }
int mij = (st + dr) / 2;
construieste(st, mij, 2 * nod);
construieste(mij + 1, dr, 2 * nod + 1);
arb[nod] = arb[2 * nod] + arb[2 * nod + 1]; }
int main()
{
ifstream cin("datorii.in");
ofstream cout("datorii.out");
int N, M;
cin >> N >> M;
for (int i = 1; i <= N; i++)
cin >> A[i];
construieste(1, N, 1);
return 0;
}
