1 条题解
-
0
C++ :
/*by SilverN*/ #include<algorithm> #include<iostream> #include<cstring> #include<cstdio> #include<cmath> #include<queue> using namespace std; const int mxn=100010; int read(){ int x=0,f=1;char ch=getchar(); while(ch<'0' || ch>'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0' && ch<='9'){x=x*10+ch-'0';ch=getchar();} return x*f; } priority_queue<int>q1,q2; int n; int calc(int a[],int b[]){ int hd1=1,tl1=n,hd2=1,tl2=n; int ans=0; while(hd1<=tl1){ if(a[hd1]>b[hd2]){ ++hd1;++hd2; ans+=2; } else if(a[tl1]>b[tl2]){ --tl1;--tl2; ans+=2; } else{ if(a[hd1]==b[tl2])ans++; ++hd1;--tl2; } } return ans; } int a[mxn],b[mxn]; int main(){ int i,j; n=read(); for(i=1;i<=n;i++)a[i]=read(); for(i=1;i<=n;i++)b[i]=read(); sort(a+1,a+n+1); sort(b+1,b+n+1); printf("%d %d\n",calc(a,b),2*n-calc(b,a)); return 0; }
- 1
信息
- ID
- 1004
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者