Каскадное_слияние

Хотелось бы узнать правильно ли я тут все описал:

#include<iostream>
 
using namespace std;
 
int main()
{
    const int k=1;
    int T;
    int i,j,l,m;
    int TAPE[k];
 int A[k];
 int AA[k];
 int D[k];
 
 for(k;2<=k;T++)
 {
     A[1]=0;
     AA[1]=1;
     D[1]=1;
 
     for(k;1<=k;T++)
     {
 
         int TAPE[k]={k};
         i=T-2;
         j=1;
         l=0;
         m=1;
 
 
     }
 
 
 }
 
    system("pause");
    return 0;
 
}

Так посмотрите что в массивах в конце выполнения этого кода )

Видимо должно быть так

A = [0, 0, 0, ..., 0]
AA = [1, 0, 0, ..., 0]
D = [1, 0, 0, ..., 0]
TAPE = [1, 2, 3, ..., T]

Вообще мне надо реализовать вот этот алгоритм:


изображение_2021-05-19_230116