QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#394874#1363. Bitonic OrderingZuqa#WA 1ms3792kbC++201.7kb2024-04-20 21:02:482024-04-20 21:02:49

Judging History

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

  • [2024-04-20 21:02:49]
  • 评测
  • 测评结果:WA
  • 用时:1ms
  • 内存:3792kb
  • [2024-04-20 21:02:48]
  • 提交

answer

#include <bits/stdc++.h>
#include <ext/pb_ds/tree_policy.hpp>
#include <ext/pb_ds/assoc_container.hpp>

#define el '\n'
#define FIO ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);

using namespace std;
using namespace __gnu_pbds;

typedef long long ll;
typedef unsigned uint;
typedef __int128 bint;
typedef long double ld;
typedef complex<ld> pt;
typedef unsigned long long ull;

template<typename T, typename X>
using hashTable = gp_hash_table<T, X>;
template<typename T>
using ordered_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
template<typename T>
using ordered_multiset = tree<T, null_type, less_equal<T>, rb_tree_tag, tree_order_statistics_node_update>;

// mt19937_64 for unsigned long long
mt19937 rng(std::chrono::system_clock::now().time_since_epoch().count());

ll doWork(vector<int> &v)
{
    int n = v.size();


//    int n;
//    cin >> n;
//    vector<int> v(n);
    vector<ll> suff(n);
    ordered_set<int> a, b;

//    for(int i = 0; i < n; i++)
//        cin >> v[i];


    for(int i = n - 1; i >= 0; i--)
    {
        suff[i] = b.size() - b.order_of_key(v[i]), b.insert(v[i]);
        if(i + 1 < n)
            suff[i] += suff[i + 1];
    }

    ll ans = 0, invA = 0;
    for(int i = 0; i < n; i++)
    {
        invA += a.size() - a.order_of_key(v[i]);
        a.insert(v[i]);

        if(i + 1 < n)
            ans += min(invA, suff[i + 1]);
    }

    return ans;
}



signed main()
{
    FIO
    int T = 1;
//    cin >> T;
    for(int i = 1; i <= T; i++)
    {
        int n;
        cin >> n;
        vector<int> v(n);
        for(auto &it: v)
            cin >> it;
        cout << doWork(v);
    }
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 0
Wrong Answer
time: 1ms
memory: 3792kb

input:

13
39
40
32
100
13
16
15
28
27
26
25
24
23

output:

16

result:

wrong answer 1st lines differ - expected: '14', found: '16'