QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#807347#9871. Just another Sorting ProblemWzy#WA 1ms5628kbC++141.1kb2024-12-09 21:43:212024-12-09 21:43:22

Judging History

你现在查看的是最新测评结果

  • [2024-12-09 21:43:22]
  • 评测
  • 测评结果:WA
  • 用时:1ms
  • 内存:5628kb
  • [2024-12-09 21:43:21]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
typedef  long long LL;
typedef pair<LL,LL> PII;
const int N=2e5+10,M=2e6;
const int mod=998244353;
const LL P=1e9+7;
const LL INF=1e18;
LL h[N],e[M],ne[M],w[M],idx;

LL d[N];
int n;

LL tr[N];

int lowbit(int x)
{
    return x & -x;
}

void add(int x, int c)
{
    for (int i = x; i <= n; i += lowbit(i)) tr[i] += c;
}

LL sum(int x)
{
    LL res = 0;
    for (int i = x; i; i -= lowbit(i)) res += tr[i];
    return res;
}






void solve(){
    string s1,s2;
    cin>>n>>s1;
    if(s1=="Alice") s2="Bob";
    else s2="Alice";

    for(int i=0;i<=n;i++) tr[i]=0;

    vector<int> a(n);

    for(int i=0;i<n;i++){
        cin>>a[i];
    }
    LL res=0;
    for(int i=0;i<n;i++){
        int t=sum(n)-sum(a[i]);
        res+=t;

        add(a[i],1);
    }

    if(res==0) cout<<"Alice"<<endl;
    else if(res%2) cout<<s1<<endl;
    else cout<<s2<<endl;

}
 
int main() {
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    int T=1;
    cin>>T;

    while(T--) solve();
 
    return 0;
}

詳細信息

Test #1:

score: 100
Accepted
time: 1ms
memory: 5628kb

input:

3
2 Alice
2 1
3 Bob
1 3 2
10 Bob
1 2 3 4 5 6 7 8 10 9

output:

Alice
Bob
Bob

result:

ok 3 lines

Test #2:

score: -100
Wrong Answer
time: 1ms
memory: 5584kb

input:

2
2 Alice
2 1
2 Bob
2 1

output:

Alice
Bob

result:

wrong answer 2nd lines differ - expected: 'Alice', found: 'Bob'