#include<iostream>
#include<vector>
#include<algorithm>
#include<string.h>
using namespace std;
int main()
{
vector<int> a, b,c,d;
vector<long> Left, Right;
freopen("input", "r",stdin);
int n;
scanf("%d",&n);
for(int i=0;i<n;i++) {
long a1, b1, c1, d1;
scanf("%ld %ld %ld %ld",&a1,&b1,&c1,&d1);
a.push_back(a1);
b.push_back(b1);
c.push_back(c1);
d.push_back(d1);
}
int len=0;
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
{
long x,y;
x=(a[i]+b[j]);
y=(c[i]+d[j]);
Left.push_back(x);
Right.push_back(-y);
len++;
}
sort(Left.begin(), Left.end());
int count=0;
for(int i=0;i<len;i++)
{
long val=Right[i];
if(binary_search(Left.begin(), Left.end(), val))
count++;
}
printf("%d\n",count);
return 0;
}
我再次获得该计划的sigsegv。每当我使用向量时,我在spoj上得到类似的错误,但它在我的gcc上工作正常。
答案 0 :(得分:1)
你应该删除freopen,否则你永远不会读取他们的输入。当我删除它时,我的代码收到了错误的答案,这是有原因的。请阅读以下提示: