Cod sursa(job #2775027)
Utilizator | Antonie Valentin ValiAntonie | Data | 14 septembrie 2021 01:40:09 |
---|---|---|---|
Problema | Arbori de intervale | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.48 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("arbint.in");
ofstream fout("arbint.out");
int i,n,x,v[100005],a[100005]],m,p,b,c;
void build(int nod, int st, int dr){
if(st == dr){
a[nod] = v[st];
return;
}
int mij = (st + dr) >> 1;
build(2*nod,st,mij);
build(2*nod+1,mij+1,dr);
a[nod] = max(a[2*nod],a[2*nod+1]);
}
int main()
{
fin>>n>>m;
for(i=1;i<=n;i++)
fin>>v[i];
build(1,1,n);
return 0;
}