自己输入能过,为什么评测不过(求助)

P1908 逆序对

想象未来 @ 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 提交的时候没有用文本读入


|