想象未来 @ 2019-07-25 20:06:38
把数据下下来,自己用文本输入可以过,但是评测的时候过不了。
#include<stdio.h>
#include<stdlib.h>
#include<algorithm>
#include<iostream>
#define fines(s) freopen(s".in","r",stdin);//freopen(s".out","w",stdout);
using namespace std;
int n;
long long ans;
int a[500050];
int c[500050];
struct node{
long long int a,b;
}b[500050];
inline long long int getint()
{
bool q=1;
long long int w=0;
char o;
o=getchar();
while((o<'0'||o>'9')&&o!='-')o=getchar();
if(o=='-')q=1,o=getchar();
while(o>='0'&&o<='9')w=w*10+(o-'0'),o=getchar();
return q?w:-w;
}
inline int lowbit(int t)
{
return t&(-t);
}
void read()
{
n=getint();
for(int i=1;i<=n;i++)
{
b[i].a=getint();
b[i].b=i;
}
return ;
}
bool cmp(node x,node y)
{
return x.a>y.a;
}
void add(int t)
{
while(t<=n)
c[t]++,t+=lowbit(t);
}
inline int sum(int t)
{
int s=0;
while(t)
s+=c[t],t-=lowbit(t);
return s;
}
void lsh()
{
sort(b+1,b+n+1,cmp);
for(int i=1;i<=n;i++)
{
add(b[i].b);
ans+=sum(b[i].b-1);
}
return ;
}
int main()
{
read();
lsh();
cout<<ans<<endl;
return 0;
}
by iceselen @ 2019-07-25 21:07:37
所以问题来了,为什么要用文本读入,不是默认标准输入输出吗
by 想象未来 @ 2019-07-25 21:11:30
@iceselen 提交的时候没有用文本读入