大数组的定义要放在main函数外 否则会re!!!!!
其他就没什么问题了。。。
#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
#define N 1000010
__int64 c[N],v[N];
int cmp(__int64 a,__int64 b)
{
return a>b;
}
int main()
{
__int64 sum;
int i,np,nc,j;
while(scanf("%d",&nc)&&nc>0)
{
for(i=0;i<nc;i++)scanf("%I64d",&c[i]);
scanf("%d",&np);
for(i=0;i<np;i++)scanf("%I64d",&v[i]);
sort(c,c+nc,cmp);
sort(v,v+np,cmp);
sum=0;
for(i=0;i<np&&i<nc;i++)
if(v[i]>0&&c[i]>0)sum+=v[i]*c[i];
else
break;
for(i=nc-1,j=np-1;i>=0&&j>=0;i--,j--)
if(c[i]<0&&v[j]<0)sum+=c[i]*v[j];
else
break;
printf("%I64d\n",sum);
}
return 0;
}