83072024-01-14 15:18:58ananászBináris fa magassága (50 pont)cpp17Compilation 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;
	}
}
Compilation error
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