CSES - IZhO 2017, day 1 - Results
Submission details
Task:Money
Sender:henrikaalto
Submission time:2019-02-03 15:46:28 +0200
Language:C++
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
#40
Test results
testverdicttimegroup
#1ACCEPTED0.01 s1details
#2ACCEPTED0.03 s1details
#3ACCEPTED0.03 s1details
#4ACCEPTED0.02 s1details
#5ACCEPTED0.02 s1details
#6ACCEPTED0.02 s1details
#7ACCEPTED0.03 s1details
#8ACCEPTED0.03 s1details
#9ACCEPTED0.03 s1details
#10ACCEPTED0.02 s1details
#11ACCEPTED0.02 s1details
#120.02 s1details
#13ACCEPTED0.03 s1details
#14ACCEPTED0.02 s1details
#15ACCEPTED0.02 s1details
#16ACCEPTED0.01 s1details
#170.02 s2details
#180.02 s2details
#190.02 s2details
#200.02 s2details
#210.01 s2details
#22ACCEPTED0.01 s2details
#230.02 s2details
#240.02 s2details
#250.02 s2details
#260.01 s2details
#27ACCEPTED0.02 s3details
#28ACCEPTED0.03 s3details
#29ACCEPTED0.03 s3details
#300.02 s3details
#31ACCEPTED0.02 s3details
#320.02 s3details
#330.01 s3details
#340.03 s3details
#35ACCEPTED0.03 s3details
#360.02 s3details
#370.02 s3details
#380.03 s3details
#390.10 s4details
#400.15 s4details
#410.09 s4details
#420.08 s4details
#430.07 s4details
#440.18 s4details
#450.18 s4details
#460.18 s4details
#47ACCEPTED0.15 s4details
#480.18 s4details
#490.20 s4details
#500.20 s4details
#510.20 s4details
#520.20 s4details
#530.20 s4details
#540.19 s4details
#55ACCEPTED0.21 s4details
#56ACCEPTED0.21 s4details
#570.21 s4details
#58ACCEPTED0.21 s4details
#59ACCEPTED0.22 s4details
#60ACCEPTED0.21 s4details
#61ACCEPTED0.21 s4details
#62ACCEPTED0.21 s4details

Code

#include<bits/stdc++.h>
using namespace std;

int d[1<<20],
    b[1<<20];

#define N 1<<20

int bit[N];

void add(int k,int x){ for(;k<=N;bit[k]+=x,k+=k&-k); }
int qq(int a){
  int s=0;
  for(;a;s+=bit[a],a-=a&-a);
  return s;  
}
int que(int a,int b){return b-a<0?0:qq(b)-qq(a-1);}
 
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  int n; cin>>n;
  for(int i=1;i<=n;i++) cin>>d[i];

  int x=1;
  b[d[1]]++; int i=2;for(;i<=n;i++){
    if(d[i]<d[i-1])break;
    b[d[i]]++;
  }
  if(i==n+1) cout<<"1\n",exit(0);
  for(int it=1;it<N;it++)
    if(b[it])add(it,b[it]);
  int lst=d[i];
  for(i++;i<=n;i++){
    if(d[i]<d[i-1]||que(lst+1,d[i]-1))x++;
//    cout<<d[i]<<" "<<d[i-1]<<"\n";
    add(d[i],1);
    lst=d[i];
  }
  cout<<++x<<"\n";
}

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
6
3 6 4 5 1 2

correct output
3

user output
3

Test 2

Group: 1

Verdict: ACCEPTED

input
6
1 3 5 2 4 6

correct output
4

user output
4

Test 3

Group: 1

Verdict: ACCEPTED

input
6
2 4 6 1 3 5

correct output
4

user output
4

Test 4

Group: 1

Verdict: ACCEPTED

input
6
2 3 2 3 2 3

correct output
3

user output
3

Test 5

Group: 1

Verdict: ACCEPTED

input
6
1 2 5 6 3 4

correct output
2

user output
2

Test 6

Group: 1

Verdict: ACCEPTED

input
6
1 2 5 3 4 6

correct output
3

user output
3

Test 7

Group: 1

Verdict: ACCEPTED

input
4
550483 550483 745079 243195

correct output
2

user output
2

Test 8

Group: 1

Verdict: ACCEPTED

input
8
718639 990890 718639 990890 99...

correct output
3

user output
3

Test 9

Group: 1

Verdict: ACCEPTED

input
6
75094 75094 75094 576383 16236...

correct output
3

user output
3

Test 10

Group: 1

Verdict: ACCEPTED

input
8
577594 541467 472059 277648 57...

correct output
7

user output
7

Test 11

Group: 1

Verdict: ACCEPTED

input
8
831697 182542 182542 246377 24...

correct output
4

user output
4

Test 12

Group: 1

Verdict:

input
8
710010 388188 309143 388188 71...

correct output
6

user output
5

Test 13

Group: 1

Verdict: ACCEPTED

input
8
806776 806776 223756 806776 80...

correct output
2

user output
2

Test 14

Group: 1

Verdict: ACCEPTED

input
8
32911 32911 32911 32911 562837...

correct output
3

user output
3

Test 15

Group: 1

Verdict: ACCEPTED

input
8
997465 997465 968321 968321 39...

correct output
5

user output
5

Test 16

Group: 1

Verdict: ACCEPTED

input
8
468346 200735 468346 200735 88...

correct output
7

user output
7

Test 17

Group: 2

Verdict:

input
15
179920 568853 179920 568853 84...

correct output
10

user output
9

Test 18

Group: 2

Verdict:

input
14
626116 805032 60415 626116 388...

correct output
12

user output
11

Test 19

Group: 2

Verdict:

input
10
494573 746756 237932 746756 81...

correct output
7

user output
6

Test 20

Group: 2

Verdict:

input
20
371839 10893 10893 10893 98708...

correct output
11

user output
10

Test 21

Group: 2

Verdict:

input
20
197220 303712 197220 389265 67...

correct output
13

user output
12

Test 22

Group: 2

Verdict: ACCEPTED

input
20
509271 509271 922019 509271 92...

correct output
6

user output
6

Test 23

Group: 2

Verdict:

input
20
757151 645451 757151 757151 75...

correct output
8

user output
7

Test 24

Group: 2

Verdict:

input
20
746146 385991 385991 350689 38...

correct output
11

user output
9

Test 25

Group: 2

Verdict:

input
20
440622 720564 700447 459690 72...

correct output
16

user output
15

Test 26

Group: 2

Verdict:

input
20
324662 468027 324662 324662 46...

correct output
14

user output
13

Test 27

Group: 3

Verdict: ACCEPTED

input
200
165 2 175 136 128 88 33 189 14...

correct output
196

user output
196

Test 28

Group: 3

Verdict: ACCEPTED

input
81
37 2 58 16 18 65 8 81 21 71 33...

correct output
77

user output
77

Test 29

Group: 3

Verdict: ACCEPTED

input
84
61 43 21 4 3 45 9 72 55 50 41 ...

correct output
80

user output
80

Test 30

Group: 3

Verdict:

input
81
1 20 53 35 10 3 74 48 22 38 26...

correct output
77

user output
76

Test 31

Group: 3

Verdict: ACCEPTED

input
118
43 2 28 111 5 26 3 23 76 10 11...

correct output
110

user output
110

Test 32

Group: 3

Verdict:

input
300
145507 564378 903068 564378 47...

correct output
214

user output
209

Test 33

Group: 3

Verdict:

input
300
198887 496454 496454 176658 19...

correct output
180

user output
171

Test 34

Group: 3

Verdict:

input
300
97004 968456 968456 968456 136...

correct output
217

user output
212

Test 35

Group: 3

Verdict: ACCEPTED

input
300
376675 480811 480811 480811 48...

correct output
78

user output
78

Test 36

Group: 3

Verdict:

input
300
581370 581370 716169 581370 81...

correct output
179

user output
172

Test 37

Group: 3

Verdict:

input
300
531046 550600 550600 401018 40...

correct output
258

user output
256

Test 38

Group: 3

Verdict:

input
300
739447 739447 571323 571323 57...

correct output
221

user output
211

Test 39

Group: 4

Verdict:

input
480481
806002 806002 621477 91785 917...

correct output
320287

user output
308089

Test 40

Group: 4

Verdict:

input
788953
897530 211298 189842 844784 89...

correct output
658146

user output
652749

Test 41

Group: 4

Verdict:

input
388796
806119 739351 66427 113886 113...

correct output
232110

user output
218646

Test 42

Group: 4

Verdict:

input
343838
199431 288483 635849 288483 68...

correct output
297964

user output
296445

Test 43

Group: 4

Verdict:

input
242351
818489 249811 887102 290660 88...

correct output
211988

user output
211028

Test 44

Group: 4

Verdict:

input
1000000
738237 738237 893082 490298 43...

correct output
777569

user output
765591

Test 45

Group: 4

Verdict:

input
1000000
74304 74304 74304 325602 71262...

correct output
714524

user output
695283

Test 46

Group: 4

Verdict:

input
1000000
254366 875788 564327 564327 43...

correct output
777558

user output
765682

Test 47

Group: 4

Verdict: ACCEPTED

input
1000000
937517 114387 114387 114387 93...

correct output
249890

user output
249890

Test 48

Group: 4

Verdict:

input
1000000
814027 682934 214670 214670 81...

correct output
500240

user output
445165

Test 49

Group: 4

Verdict:

input
1000000
717896 297551 254872 297551 61...

correct output
833179

user output
820455

Test 50

Group: 4

Verdict:

input
1000000
563974 664553 563974 609181 56...

correct output
750197

user output
722266

Test 51

Group: 4

Verdict:

input
1000000
173690 978648 978648 978648 90...

correct output
874390

user output
866899

Test 52

Group: 4

Verdict:

input
1000000
785890 785890 785890 785890 78...

correct output
750316

user output
722596

Test 53

Group: 4

Verdict:

input
1000000
119439 119439 119439 354111 73...

correct output
798579

user output
781251

Test 54

Group: 4

Verdict:

input
1000000
749078 95090 749078 276834 950...

correct output
750593

user output
722764

Test 55

Group: 4

Verdict: ACCEPTED

input
1000000
137937 689287 749751 213838 32...

correct output
981871

user output
981871

Test 56

Group: 4

Verdict: ACCEPTED

input
1000000
473653 274191 673488 575890 73...

correct output
981543

user output
981543

Test 57

Group: 4

Verdict:

input
1000000
913583 648901 29748 168104 439...

correct output
981717

user output
981716

Test 58

Group: 4

Verdict: ACCEPTED

input
1000000
890981 682430 885587 406305 60...

correct output
981788

user output
981788

Test 59

Group: 4

Verdict: ACCEPTED

input
1000000
1 2 247847 4 767575 281751 982...

correct output
981660

user output
981660

Test 60

Group: 4

Verdict: ACCEPTED

input
1000000
285138 720188 820135 821835 91...

correct output
982003

user output
982003

Test 61

Group: 4

Verdict: ACCEPTED

input
1000000
421947 680547 224842 941720 26...

correct output
981663

user output
981663

Test 62

Group: 4

Verdict: ACCEPTED

input
1000000
963500 2 664028 4 692637 80284...

correct output
981624

user output
981624