CSES - IZhO 2017, day 1 - Results
Submission details
Task:Money
Sender:jarvenp
Submission time:2019-02-02 15:14:48 +0200
Language:C++
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
#40
Test results
testverdicttimegroup
#1ACCEPTED0.03 s1details
#2ACCEPTED0.01 s1details
#3ACCEPTED0.03 s1details
#40.01 s1details
#5ACCEPTED0.02 s1details
#6ACCEPTED0.01 s1details
#7ACCEPTED0.03 s1details
#80.01 s1details
#9ACCEPTED0.01 s1details
#10ACCEPTED0.02 s1details
#110.02 s1details
#120.02 s1details
#130.02 s1details
#140.02 s1details
#15ACCEPTED0.02 s1details
#160.03 s1details
#170.01 s2details
#180.01 s2details
#19ACCEPTED0.01 s2details
#200.01 s2details
#210.01 s2details
#220.01 s2details
#230.02 s2details
#240.01 s2details
#250.01 s2details
#260.02 s2details
#27ACCEPTED0.01 s3details
#28ACCEPTED0.01 s3details
#29ACCEPTED0.02 s3details
#30ACCEPTED0.02 s3details
#31ACCEPTED0.01 s3details
#320.02 s3details
#330.02 s3details
#340.01 s3details
#350.04 s3details
#360.01 s3details
#370.01 s3details
#380.03 s3details
#390.38 s4details
#400.68 s4details
#410.30 s4details
#420.32 s4details
#430.22 s4details
#440.83 s4details
#450.80 s4details
#460.82 s4details
#470.75 s4details
#480.78 s4details
#491.38 s4details
#501.35 s4details
#511.40 s4details
#521.34 s4details
#531.37 s4details
#541.36 s4details
#55--4details
#56--4details
#57--4details
#58--4details
#59--4details
#60--4details
#61--4details
#62--4details

Code

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

#define F first
#define S second

int64_t n;
set<pair<int64_t,int64_t>> s;
int64_t t[1000000];
 
int main(){
  cin >> n;
  for(int64_t i=0; i<n; i++){
    cin >> t[i];
    s.insert({t[i],i});
  }
  int64_t ans = 0;
  for(int64_t i=n-1; i>=0;){
    // cout  << " " << t[i] << "\n";
    /*multiset<int64_t>::iterator it;
    if((i>0) && (t[i-1] != t[i])){
      it= s.lower_bound(t[i]);
      it++;
    }
    else{
      it = s.upper_bound(t[i]);
      }*/
    auto it = s.upper_bound({t[i],i});
    auto it2 = it;
    it2--;
    //cout << *it2 << "\n";
    while(((*it2).F == t[i]) && (i >= 1) && (it2 != s.begin())){
      it2--;
      i--;
    }
    if((*it2).F != t[i]){
      it2++;
    }
    else{
      i--;
    }
    // cout << *it2 << "  "<< *it << "\n";
    s.erase(it2,it);
    /* for(auto it3 = s.begin(); it3 != s.end(); it3++){
      cout << *it3 << " ";
    }
    cout << "\n";*/
    ans++;
  }
  cout << ans << "\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:

input
6
2 3 2 3 2 3

correct output
3

user output
5

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:

input
8
718639 990890 718639 990890 99...

correct output
3

user output
4

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:

input
8
831697 182542 182542 246377 24...

correct output
4

user output
5

Test 12

Group: 1

Verdict:

input
8
710010 388188 309143 388188 71...

correct output
6

user output
8

Test 13

Group: 1

Verdict:

input
8
806776 806776 223756 806776 80...

correct output
2

user output
3

Test 14

Group: 1

Verdict:

input
8
32911 32911 32911 32911 562837...

correct output
3

user output
4

Test 15

Group: 1

Verdict: ACCEPTED

input
8
997465 997465 968321 968321 39...

correct output
5

user output
5

Test 16

Group: 1

Verdict:

input
8
468346 200735 468346 200735 88...

correct output
7

user output
8

Test 17

Group: 2

Verdict:

input
15
179920 568853 179920 568853 84...

correct output
10

user output
11

Test 18

Group: 2

Verdict:

input
14
626116 805032 60415 626116 388...

correct output
12

user output
13

Test 19

Group: 2

Verdict: ACCEPTED

input
10
494573 746756 237932 746756 81...

correct output
7

user output
7

Test 20

Group: 2

Verdict:

input
20
371839 10893 10893 10893 98708...

correct output
11

user output
12

Test 21

Group: 2

Verdict:

input
20
197220 303712 197220 389265 67...

correct output
13

user output
15

Test 22

Group: 2

Verdict:

input
20
509271 509271 922019 509271 92...

correct output
6

user output
11

Test 23

Group: 2

Verdict:

input
20
757151 645451 757151 757151 75...

correct output
8

user output
13

Test 24

Group: 2

Verdict:

input
20
746146 385991 385991 350689 38...

correct output
11

user output
14

Test 25

Group: 2

Verdict:

input
20
440622 720564 700447 459690 72...

correct output
16

user output
18

Test 26

Group: 2

Verdict:

input
20
324662 468027 324662 324662 46...

correct output
14

user output
16

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: ACCEPTED

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

correct output
77

user output
77

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
252

Test 33

Group: 3

Verdict:

input
300
198887 496454 496454 176658 19...

correct output
180

user output
228

Test 34

Group: 3

Verdict:

input
300
97004 968456 968456 968456 136...

correct output
217

user output
243

Test 35

Group: 3

Verdict:

input
300
376675 480811 480811 480811 48...

correct output
78

user output
154

Test 36

Group: 3

Verdict:

input
300
581370 581370 716169 581370 81...

correct output
179

user output
224

Test 37

Group: 3

Verdict:

input
300
531046 550600 550600 401018 40...

correct output
258

user output
277

Test 38

Group: 3

Verdict:

input
300
739447 739447 571323 571323 57...

correct output
221

user output
249

Test 39

Group: 4

Verdict:

input
480481
806002 806002 621477 91785 917...

correct output
320287

user output
384718

Test 40

Group: 4

Verdict:

input
788953
897530 211298 189842 844784 89...

correct output
658146

user output
717924

Test 41

Group: 4

Verdict:

input
388796
806119 739351 66427 113886 113...

correct output
232110

user output
291613

Test 42

Group: 4

Verdict:

input
343838
199431 288483 635849 288483 68...

correct output
297964

user output
319247

Test 43

Group: 4

Verdict:

input
242351
818489 249811 887102 290660 88...

correct output
211988

user output
226199

Test 44

Group: 4

Verdict:

input
1000000
738237 738237 893082 490298 43...

correct output
777569

user output
875071

Test 45

Group: 4

Verdict:

input
1000000
74304 74304 74304 325602 71262...

correct output
714524

user output
833682

Test 46

Group: 4

Verdict:

input
1000000
254366 875788 564327 564327 43...

correct output
777558

user output
875054

Test 47

Group: 4

Verdict:

input
1000000
937517 114387 114387 114387 93...

correct output
249890

user output
499779

Test 48

Group: 4

Verdict:

input
1000000
814027 682934 214670 214670 81...

correct output
500240

user output
666472

Test 49

Group: 4

Verdict:

input
1000000
717896 297551 254872 297551 61...

correct output
833179

user output
900258

Test 50

Group: 4

Verdict:

input
1000000
563974 664553 563974 609181 56...

correct output
750197

user output
833851

Test 51

Group: 4

Verdict:

input
1000000
173690 978648 978648 978648 90...

correct output
874390

user output
928561

Test 52

Group: 4

Verdict:

input
1000000
785890 785890 785890 785890 78...

correct output
750316

user output
833599

Test 53

Group: 4

Verdict:

input
1000000
119439 119439 119439 354111 73...

correct output
798579

user output
875031

Test 54

Group: 4

Verdict:

input
1000000
749078 95090 749078 276834 950...

correct output
750593

user output
833994

Test 55

Group: 4

Verdict:

input
1000000
137937 689287 749751 213838 32...

correct output
981871

user output
(empty)

Test 56

Group: 4

Verdict:

input
1000000
473653 274191 673488 575890 73...

correct output
981543

user output
(empty)

Test 57

Group: 4

Verdict:

input
1000000
913583 648901 29748 168104 439...

correct output
981717

user output
(empty)

Test 58

Group: 4

Verdict:

input
1000000
890981 682430 885587 406305 60...

correct output
981788

user output
(empty)

Test 59

Group: 4

Verdict:

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

correct output
981660

user output
(empty)

Test 60

Group: 4

Verdict:

input
1000000
285138 720188 820135 821835 91...

correct output
982003

user output
(empty)

Test 61

Group: 4

Verdict:

input
1000000
421947 680547 224842 941720 26...

correct output
981663

user output
(empty)

Test 62

Group: 4

Verdict:

input
1000000
963500 2 664028 4 692637 80284...

correct output
981624

user output
(empty)