Submission details
Task:Bubblesort
Sender:Semikolonisti
Submission time:2017-09-05 17:12:28 +0300
Language:C++
Status:READY
Result:
Test results
testverdicttime
#1ACCEPTED0.04 sdetails
#2ACCEPTED0.04 sdetails
#3ACCEPTED0.04 sdetails
#4ACCEPTED0.03 sdetails
#50.04 sdetails
#60.05 sdetails
#70.04 sdetails
#80.04 sdetails
#90.05 sdetails
#100.04 sdetails
#110.09 sdetails
#120.14 sdetails
#130.09 sdetails
#140.23 sdetails
#150.24 sdetails
#160.26 sdetails
#170.25 sdetails
#180.21 sdetails
#190.25 sdetails
#200.42 sdetails
#210.23 sdetails
#220.29 sdetails
#230.24 sdetails
#240.28 sdetails
#250.27 sdetails
#260.28 sdetails
#270.29 sdetails
#280.27 sdetails
#290.28 sdetails
#300.31 sdetails

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:16:9: warning: unused variable 'ans' [-Wunused-variable]
     int ans = 0;
         ^

Code

#include <bits/stdc++.h>
#define ll long long
#define F first
#define S second
#define M 1000000007
#define pii pair<int, int>

using namespace std;

int x[555555];

int main () {
    int n;
    cin>>n;
    int v[n];
    int ans = 0;
    int p = 0;
    for (int i = 0; i < n; i++) {
        cin>>v[i];
        if (p == 0) {
            x[p++] = v[i];
        } else if (v[i] >= x[p - 1]) {
            x[p++] = v[i];
        } else if (v[i] < x[0]) {
            x[0] = v[i];
        } else {
            int k = 0;
            for (int z = p; z >= 1; z /= 2) {
                while (k + z < p - 1 && v[i] >= x[k + z]) {
                    k += z;
                }
            }
            x[k + 1] = v[i];
        }
    }
    cout<<n - p<<endl;
}

Test details

Test 1

Verdict: ACCEPTED

input
3
3 1 2

correct output
1

user output
1

Test 2

Verdict: ACCEPTED

input
9
1 3 8 7 9 2 6 5 4

correct output
5

user output
5

Test 3

Verdict: ACCEPTED

input
7
6 2 7 3 1 5 4

correct output
4

user output
4

Test 4

Verdict: ACCEPTED

input
3
1 2 3

correct output
0

user output
0

Test 5

Verdict:

input
8
1 7 5 3 4 2 6 8

correct output
4

user output
3

Test 6

Verdict:

input
6189
5310 3765 3906 2782 182 6073 5...

correct output
6120

user output
6042

Test 7

Verdict:

input
1052
605 1025 537 793 395 327 191 7...

correct output
1037

user output
993

Test 8

Verdict:

input
2499
83 188 492 1302 1977 1161 1520...

correct output
2397

user output
2406

Test 9

Verdict:

input
7950
6436 2406 6826 3924 6561 2225 ...

correct output
7847

user output
7771

Test 10

Verdict:

input
253
154 3 64 168 151 77 43 10 216 ...

correct output
237

user output
225

Test 11

Verdict:

input
168822
7368 91827 142946 103095 84451...

correct output
168700

user output
168013

Test 12

Verdict:

input
231023
184488 40382 217578 44447 8625...

correct output
230374

user output
230083

Test 13

Verdict:

input
102736
64151 31615 49032 81150 94591 ...

correct output
102511

user output
102116

Test 14

Verdict:

input
454451
161389 233882 400571 237791 38...

correct output
453923

user output
453118

Test 15

Verdict:

input
345255
225453 181010 308370 11453 161...

correct output
345149

user output
344104

Test 16

Verdict:

input
500000
283939 326011 375838 436331 90...

correct output
498658

user output
498606

Test 17

Verdict:

input
500000
375320 286793 413146 113598 49...

correct output
498904

user output
498600

Test 18

Verdict:

input
500000
358733 69119 2668 282342 10817...

correct output
498255

user output
498592

Test 19

Verdict:

input
500000
367870 367867 23492 425664 476...

correct output
499784

user output
498588

Test 20

Verdict:

input
500000
161854 218492 421808 288806 82...

correct output
499656

user output
498601

Test 21

Verdict:

input
500000
486149 378744 93792 346178 139...

correct output
499687

user output
498609

Test 22

Verdict:

input
500000
227384 250526 465996 187161 35...

correct output
499403

user output
498600

Test 23

Verdict:

input
500000
331231 341597 157263 39430 374...

correct output
498776

user output
498601

Test 24

Verdict:

input
500000
432884 69165 248999 250716 441...

correct output
498520

user output
498597

Test 25

Verdict:

input
500000
295651 157955 224104 113246 10...

correct output
499542

user output
498604

Test 26

Verdict:

input
500000
376774 340175 85041 344489 205...

correct output
499165

user output
498609

Test 27

Verdict:

input
500000
308654 222422 178057 247304 32...

correct output
499060

user output
498602

Test 28

Verdict:

input
500000
227758 437750 417308 259170 42...

correct output
499388

user output
498603

Test 29

Verdict:

input
500000
411844 252857 416433 81399 491...

correct output
499407

user output
498613

Test 30

Verdict:

input
500000
264005 331698 479151 473790 10...

correct output
498627

user output
498593