的問題:http://www.codechef.com/FEB14/problems/TWODOGSSIGSEGV錯誤的詳細信息和拆卸步驟
我寫了下面的程序,但是,內聯法官codechef我收到SIGSEGV錯誤。我想知道具體哪些指令在我的程序中創建此錯誤,以便我嘗試刪除該錯誤。 這裏是代碼:
#include<iostream>
using namespace std;
int main()
{
int n,k;
cin>>n>>k;
int a[n];
for(int i=0;i<n;i++)
cin>>a[i];
int arr[n+1];
for(int i=1;i<n+1;i++)
arr[i]=n+1;
for(int i=0;i<n;i++)
{
int p=min(i+1,n-i);
arr[a[i]]=min(arr[a[i]],p);
}
int time=n+1;
for(int i=0;i<n;i++)
{
int p=a[i];
if(p!=k-p&&p<k)
time=min(time,max(arr[p],arr[k-p]));
}
if(time==n+1)
cout<<"-1";
else
cout<<time;
}
好了,你有什麼* *試過? –
@MichaelFoukarakis isearched,發現由於壞的內存分配或可能由於錯誤的指針initialisations所引起SIGSEGV錯誤,但我想我的代碼是在這些方面是正確的。 – InsaynAsasin
@MichaelFoukarakis然後我在該程序的在網上判斷順利,但沒有運行使用gcc編譯碼塊 – InsaynAsasin