8307 | 2024-01-14 15:18:58 | ananász | Bináris fa magassága (50 pont) | cpp17 | Compilation error |
#include <iostream>
#include <vector>
using namespace std;
struct pont {
int h;
int k;
int v;
};
int main() {
int N;
int M;
cin >> N >> M;
int x = int(pow(2, N)) - 1;
vector<pont> hossz(x); //maximum 65535
int szint = 1;
int id = 1;
int y;
while (szint < N)
{
int db = int(pow(2, szint));
y = int(pow(2, N - 1 - szint));
for (int i = 0; i < db; i++)
{
hossz[id].h = 1;
hossz[id].k = i * y;
hossz[id].v = (i + 1) * y - 1;
id = id + 1;
}
szint = szint + 1;
}
x = int(pow(2, N - 1));
vector<int> also(x); //maximum hossz 32768
for (int i = 0; i < x; i++)
{
also[i] = N - 1;
}
vector<int> magassag(M);
int max = N - 1;
int maxid;
int el;
int hossza;
int valtozas;
for (int i = 0; i < M; i++)
{
cin >> el >> hossza;
el = el - 1;
valtozas = hossza - hossz[el].h;
hossz[el].h = hossza;
if (valtozas > 0)
{
for (int j = hossz[el].k; j <= hossz[el].v; j++)
{
if (max < also[j] + valtozas)
{
max = also[j] + valtozas;
}
also[j] = also[j] + valtozas;
}
}
else if (valtozas < 0)
{
for (int j = hossz[el].k; j <= hossz[el].v; j++)
{
also[j] = also[j] + valtozas;
}
maxid = 0;
for (int j = 1; j < x; j++)
{
if (also[maxid] < also[j])
{
maxid = j;
}
}
max = also[maxid];
}
magassag[i]=max;
}
for (int i = 0; i < M; i++)
{
cout << magassag[i] << endl;
}
}
exit status 1
main.cpp: In function 'int main()':
main.cpp:16:21: error: 'pow' was not declared in this scope
16 | int x = int(pow(2, N)) - 1;
| ^~~
Exited with error status 1