Piccadily Circus(SPOJ)的运行时错误犯罪

时间:2011-12-08 17:39:32

标签: c++

我已经编写了问题http://www.spoj.pl/problems/PICAD/的代码,如下所示

#include<iostream>

using namespace std;

int main()
{
int T=10;
//int T=1;
while(T--)
{
int p,k;
cin>>p>>k;
int n;
cin>>n;

int *A;
int *B;
A= new int[k+1];
B= new int[k+1];

for(int i=1;i<=k;i++)
{A[i]=0;B[i]=0;}
while(n--)
    {
    int start,end;
    cin>>start>>end;

    if(start<p && end>=p && end<k) {A[p]++;B[end]++;}
    else if(start<p && end>=k){A[p]++;B[k]++;}

    else if (start>=p && end <k){A[start]++;B[end]++;}
    else if(start>=p && end >=k){A[start]++;B[k]++;}

    }
int num=0;
int max=A[p]-B[p];
int min=A[p]-B[p];
for(int i=p;i<=k;i++)
{
num=num+A[i];
if(max<num)max=num;
if(min>num)min=num;
num=num-B[i];
}

cout<<min<<" "<<max<<endl;
}
return 0;
}

问题是根据SPOJ总是给出“运行时错误(SIGABRT)”,我无法理解或纠正。 我很沮丧这一段时间了。 请帮忙

1 个答案:

答案 0 :(得分:-1)

使用Mac上的XCode 4.2.1,该程序适用于示例输入和预期输出。我粘贴

5 10
4
1 8
5 8
7 10
8 9

并获取

1 4

如果您遇到错误,请尝试使用调试器找出程序失败的确切位置。你使用什么编译器?