QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#105280#5507. Investorspdstiago#WA 3ms3388kbC++141.1kb2023-05-13 20:41:512023-05-13 20:41:53

Judging History

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

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-05-13 20:41:53]
  • 评测
  • 测评结果:WA
  • 用时:3ms
  • 内存:3388kb
  • [2023-05-13 20:41:51]
  • 提交

answer

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

using namespace __gnu_pbds;
using namespace std;

#define mxn 1e5+5
#define fastio ios_base::sync_with_stdio(false), cin.tie(nullptr)
#define endl '\n'
typedef long long ll;

typedef tree<ll, null_type, less_equal<ll>, rb_tree_tag, tree_order_statistics_node_update> multiordered_set;


int solve(){
    int n, k;
    cin >> n >> k;

    vector<ll> a(n);
    for(ll &ai : a) cin >> ai;
    ll diff = 0;

    for(int i = 1; i < n; i++) {
        a[i] += diff;
        if(a[i] < a[i-1] && k > 0) {
            diff += ll(1e10);
            a[i] += diff;
            k--;
        }
    }

    ll ans = 0;
    multiordered_set ms;
    map<ll, int> occur;
    
    for(int i = 0; i < n; i++) {    
        ans += i - (ms.order_of_key(a[i]) + occur[a[i]]);
        ms.insert(a[i]);
        occur[a[i]]++;
    }

    cout << ans << '\n';

    return 0;
}

int main(){
    fastio;

    int t; 
    cin >> t;

    while(t--){
        solve();
    }

    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 2ms
memory: 3388kb

input:

2
6 1
4 5 6 2 2 1
6 2
4 5 6 2 2 1

output:

2
0

result:

ok 2 lines

Test #2:

score: -100
Wrong Answer
time: 3ms
memory: 3376kb

input:

349
6 2
2 1 2 1 2 1
48 12
42 47 39 39 27 25 22 44 45 13 5 48 38 4 37 6 24 10 42 38 12 37 31 19 44 6 29 17 7 12 7 26 35 24 15 9 37 3 27 21 33 29 34 20 14 30 31 21
48 12
1 43 17 46 17 39 40 22 25 2 22 12 4 11 38 12 4 11 1 5 39 44 37 10 19 20 42 45 2 45 37 20 48 34 16 41 23 18 13 44 47 21 29 4 23 18 16...

output:

3
448
428
442
2
393
367
0
492
476
477
0
0
0
1
0
0
0
75
0
0
0
242
410
3
0
0
2
0
0
64
144
336
0
1
0
3
0
0
1
0
0
2
388
23
1
434
301
0
0
0
167
316
192
0
2
0
2
0
0
465
522
0
0
472
4
0
1
0
363
3
0
1
0
116
111
0
0
4
0
0
0
1
0
190
0
0
0
0
0
77
105
366
0
0
212
3
0
261
442
0
0
85
0
445
1
412
0
0
1
1
1
476
5
0...

result:

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