为什么跳过输入就直接结束了

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图

#include<bits/stdc++.h>
using namespace std;
int main()
{
int a[2000000],n,m;
cin>>n>>m;
for(int i = 0;i < m;i++)
cin>>a[i];
sort(a,a+m);
for(int i = 0;i < m;i++)
cout<<a[i]<<" "<<endl;
return 0;

}

运行结果及报错内容

为什么我的编译之后没有输入就直接结束了

我的解答思路和尝试过的方法
我想要达到的结果
数组太大了,去掉一个0.或者改用

int *a=new int[2000000];

最好是输入m后再声明数组
int *a=new int[m];

新版本的c++也可以
int a[m];

可能是数组开太大了,你可以把那个数组定义成全局变量再看看