What is wrong in my code IN QUESTION https://www.codechef.com/problems/DISTK

#include
using namespace std;

int main() {
int t;
cin>>t;
while(t–)
{
int n,k;
cin>>n>>k;
int a[n];
for(int i=0;i<n;i++)
{
a[i]=i+1;
}
int remaining=n*(n+1)/2-k;
int curr=1;
for(int i=n-1;i>0&&remaining>0;i–)
{
if(i<=remaining)
{
a[curr]=1;
remaining=remaining-i;

        }
        else
        {
            int extra=i-remaining;
            a[curr+extra]=1;
            remaining=0;
        }
        curr++;
    }
    for(int i=0;i<n;i++)
    {
        cout<<a[i]<<" ";
    }
    cout<<"\n";
}
return 0;

}