记录编号 |
173793 |
评测结果 |
EEEEEEEEEE |
题目名称 |
[尼伯龙根之歌] 精灵魔法 |
最终得分 |
0 |
用户昵称 |
一個人的雨 |
是否通过 |
未通过 |
代码语言 |
C++ |
运行时间 |
0.999 s |
提交时间 |
2015-07-29 20:56:23 |
内存使用 |
85.88 MiB |
显示代码纯文本
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cstdlib>
using namespace std;
struct p{
int a;
int x;
}P[10000000];
int c[1000000],s[1000000],n;
int ans=0;
bool cmp(const p&a,const p&b){
return a.x<b.x;
}
int lowbit(int x){
return (x&-x);
}
int SHIT(int x){
int sum=0;
while(x>0){
sum+=c[x];
x-=lowbit(x);
}
return sum;
}
void update(int i,int x){
while(i<=n){
c[i]+=x;
i+=lowbit(i);
}
return;
}
int main()
{
freopen("alfheim.in","r",stdin);
freopen("alfheim.out","w",stdout);
scanf("%d",&n);
for (int i=1;i<=n;++i)
scanf("%d",&P[i].x);
for (int i=1;i<=n;++i)
scanf("%d",&P[i].a);
sort(P+1,P+n+1,cmp);
for (int i=n;i>=1;--i)
{
update(P[i].a+1,1);
ans+=SHIT(P[i].a);
}
printf("%d",ans);
return 0;
}