CSES - Aalto Competitive Programming 2024 - wk3 - Wed - Results
Submission details
Task:Sorting coins
Sender:aalto2024c_006
Submission time:2024-09-18 17:03:47 +0300
Language:C++ (C++20)
Status:READY
Result:
Test results
testverdicttime
#1ACCEPTED0.00 sdetails
#2ACCEPTED0.00 sdetails
#3ACCEPTED0.00 sdetails
#4ACCEPTED0.00 sdetails
#5ACCEPTED0.00 sdetails
#6ACCEPTED0.00 sdetails
#7ACCEPTED0.00 sdetails
#8ACCEPTED0.00 sdetails
#9ACCEPTED0.00 sdetails
#10ACCEPTED0.00 sdetails
#11ACCEPTED0.00 sdetails
#12ACCEPTED0.00 sdetails
#13ACCEPTED0.00 sdetails
#14ACCEPTED0.00 sdetails
#15ACCEPTED0.00 sdetails
#16ACCEPTED0.00 sdetails
#17ACCEPTED0.00 sdetails
#18ACCEPTED0.00 sdetails
#19ACCEPTED0.00 sdetails
#20ACCEPTED0.00 sdetails
#210.00 sdetails
#22ACCEPTED0.00 sdetails
#23ACCEPTED0.00 sdetails
#240.00 sdetails
#25ACCEPTED0.00 sdetails
#260.00 sdetails
#270.00 sdetails
#28ACCEPTED0.00 sdetails
#29ACCEPTED0.00 sdetails
#30ACCEPTED0.00 sdetails
#310.00 sdetails
#320.00 sdetails
#330.00 sdetails
#340.00 sdetails
#350.00 sdetails
#360.00 sdetails
#37ACCEPTED0.00 sdetails
#380.00 sdetails
#390.00 sdetails
#400.00 sdetails
#410.00 sdetails
#420.00 sdetails
#430.00 sdetails
#440.00 sdetails
#450.00 sdetails
#460.00 sdetails
#470.00 sdetails
#480.00 sdetails
#490.00 sdetails
#500.00 sdetails
#510.08 sdetails
#520.12 sdetails
#530.42 sdetails
#540.17 sdetails
#550.08 sdetails
#560.17 sdetails
#570.10 sdetails
#580.38 sdetails
#590.20 sdetails
#600.40 sdetails

Code

#include "bits/stdc++.h"
using namespace std;
#define i64 int64_t
#define vec vector

const int N = 1e5 + 5;

static bool sortbysec(pair<int, int>& a, 
                pair<int, int>& b)
{
    return (a.first < b.first && a.first < a.second);
}

int main() {
  int n, m;
  cin >> n >> m;

  vec<int> coins(n);
  for (int i = 0; i < n; i++)
  {
    cin >> coins[i];
  }
  
  // hole size, index
  vector<pair<int,int>> holes(m);

  for (int i = 0; i < m; i++) {
    int h;
    cin >> h;
    holes[i] = pair<int,int>(h,i);
  }

  sort(holes.begin(), holes.end(), sortbysec);
  
  for (auto c : coins)
  {
    bool found = false;
    for (int i = 0; i < m; i++)
    {
      if(holes[i].first >= c) {
        cout << holes[i].second+1 << " ";
        found = true;
        break;
      } else {
      }
    }
    if(!found) {
      cout << m+1 << " ";
    }
  }
}

Test details

Test 1

Verdict: ACCEPTED

input
1 1
10 

correct output

user output

Test 2

Verdict: ACCEPTED

input
2 1
5 1 

correct output
2 1 

user output
2 1 

Test 3

Verdict: ACCEPTED

input
2 3
6 9 
7 3 5 

correct output
1 4 

user output
1 4 

Test 4

Verdict: ACCEPTED

input
2 1
7 9 

correct output
2 2 

user output
2 2 

Test 5

Verdict: ACCEPTED

input
3 2
7 1 5 
2 5 

correct output
3 1 2 

user output
3 1 2 

Test 6

Verdict: ACCEPTED

input
3 6
8 1 7 
2 5 2 3 8 9 

correct output
5 1 5 

user output
5 1 5 

Test 7

Verdict: ACCEPTED

input
3 2
1 10 1 
6 7 

correct output
1 3 1 

user output
1 3 1 

Test 8

Verdict: ACCEPTED

input
4 4
5 6 9 6 
8 4 10 9 

correct output
1 1 3 1 

user output
1 1 3 1 

Test 9

Verdict: ACCEPTED

input
4 3
8 2 4 2 
6 9 1 

correct output
2 1 1 1 

user output
2 1 1 1 

Test 10

Verdict: ACCEPTED

input
4 3
1 2 4 7 
3 5 8 

correct output
1 1 2 3 

user output
1 1 2 3 

Test 11

Verdict: ACCEPTED

input
5 3
4 10 10 5 1 
1 9 9 

correct output
2 4 4 2 1 

user output
2 4 4 2 1 

Test 12

Verdict: ACCEPTED

input
5 9
1 6 7 5 6 
1 1 2 3 4 4 9 10 10 

correct output
1 7 7 7 7 

user output
1 7 7 7 7 

Test 13

Verdict: ACCEPTED

input
5 1
4 5 10 8 5 

correct output
2 2 2 2 2 

user output
2 2 2 2 2 

Test 14

Verdict: ACCEPTED

input
5 9
7 5 8 5 5 
1 10 3 9 4 6 9 3 5 

correct output
2 2 2 2 2 

user output
2 2 2 2 2 

Test 15

Verdict: ACCEPTED

input
5 1
5 5 1 2 4 

correct output
2 2 1 1 1 

user output
2 2 1 1 1 

Test 16

Verdict: ACCEPTED

input
5 8
3 1 2 8 8 
1 3 5 5 5 7 8 9 

correct output
2 1 2 7 7 

user output
2 1 2 7 7 

Test 17

Verdict: ACCEPTED

input
5 2
5 2 8 10 5 
1 1 

correct output
3 3 3 3 3 

user output
3 3 3 3 3 

Test 18

Verdict: ACCEPTED

input
5 2
3 1 6 8 1 
5 8 

correct output
1 1 2 2 1 

user output
1 1 2 2 1 

Test 19

Verdict: ACCEPTED

input
5 8
5 8 7 7 8 
2 3 7 9 9 9 10 10 

correct output
3 4 3 3 4 

user output
3 4 3 3 4 

Test 20

Verdict: ACCEPTED

input
5 6
4 3 10 3 6 
10 8 7 9 4 1 

correct output
1 1 1 1 1 

user output
1 1 1 1 1 

Test 21

Verdict:

input
10 16
1 2 7 7 10 9 1 4 6 9 
3 1 5 7 5 8 9 5 6 3 1 2 8 8 3 ...

correct output
1 1 4 4 17 7 1 3 4 7 

user output
11 1 4 4 17 7 11 3 4 7 

Test 22

Verdict: ACCEPTED

input
10 4
8 10 5 2 5 3 1 9 5 9 
1 1 7 5 

correct output
5 5 3 3 3 3 1 5 3 5 

user output
5 5 3 3 3 3 1 5 3 5 

Test 23

Verdict: ACCEPTED

input
10 4
6 8 1 4 10 1 10 3 1 1 
5 8 9 3 

correct output
2 2 1 1 5 1 5 1 1 1 

user output
2 2 1 1 5 1 5 1 1 1 

Test 24

Verdict:

input
10 16
8 4 1 7 3 10 1 8 9 5 
7 3 9 9 9 10 2 10 8 5 8 7 7 8 ...

correct output
3 1 1 1 1 6 1 3 3 1 

user output
3 1 7 1 1 6 7 3 3 1 

Test 25

Verdict: ACCEPTED

input
10 11
4 4 4 6 6 3 7 9 6 4 
1 2 3 3 4 4 7 8 9 10 10 

correct output
5 5 5 7 7 3 7 9 7 5 

user output
5 5 5 7 7 3 7 9 7 5 

Test 26

Verdict:

input
10 17
9 10 1 3 6 8 6 9 10 9 
9 2 6 1 2 4 9 3 10 6 1 4 9 4 8...

correct output
1 9 1 1 1 1 1 1 9 1 

user output
13 9 4 17 10 15 10 13 9 13 

Test 27

Verdict:

input
10 5
2 4 8 3 2 7 7 2 9 1 
4 6 1 6 4 

correct output
1 1 6 1 1 6 6 1 6 1 

user output
1 1 6 1 1 6 6 1 6 3 

Test 28

Verdict: ACCEPTED

input
10 6
8 5 7 2 7 3 6 7 1 9 
1 2 2 6 9 9 

correct output
5 4 5 2 5 4 4 5 1 5 

user output
5 4 5 2 5 4 4 5 1 5 

Test 29

Verdict: ACCEPTED

input
10 14
3 9 1 10 7 4 9 6 8 6 
1 1 2 3 3 5 5 6 7 8 9 9 10 10 

correct output
4 11 1 13 9 6 11 8 10 8 

user output
4 11 1 13 9 6 11 8 10 8 

Test 30

Verdict: ACCEPTED

input
10 2
3 8 2 3 4 7 1 1 7 2 
5 8 

correct output
1 2 1 1 1 2 1 1 2 1 

user output
1 2 1 1 1 2 1 1 2 1 

Test 31

Verdict:

input
100 109
670851894 542702872 156237497 ...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
69 69 69 69 69 69 69 69 69 69 ...
Truncated

Test 32

Verdict:

input
100 104
65679420 148186648 745144547 5...

correct output
8 16 75 8 68 22 48 45 56 99 93...

user output
66 66 78 66 78 66 66 66 66 104...
Truncated

Test 33

Verdict:

input
100 120
327701031 843462639 697056609 ...

correct output
1 10 2 1 1 10 1 6 1 2 1 2 2 2 ...

user output
76 76 76 76 76 76 76 76 76 76 ...
Truncated

Test 34

Verdict:

input
100 87
973756781 787585117 426104879 ...

correct output
30 3 3 3 3 3 3 3 7 1 1 1 1 3 3...

user output
30 46 61 61 46 64 61 61 77 65 ...
Truncated

Test 35

Verdict:

input
100 30
259467422 179425210 302226641 ...

correct output
10 6 11 26 21 5 4 25 6 25 6 25...

user output
16 16 16 30 30 16 16 30 16 30 ...
Truncated

Test 36

Verdict:

input
100 17
619610888 28975240 267230415 3...

correct output
11 2 4 7 18 3 10 11 17 10 3 15...

user output
17 9 9 9 18 9 17 17 17 17 9 17...
Truncated

Test 37

Verdict: ACCEPTED

input
100 2
536076934 655217422 133320243 ...

correct output
1 1 1 3 3 3 1 3 1 3 1 3 1 1 3 ...

user output
1 1 1 3 3 3 1 3 1 3 1 3 1 1 3 ...
Truncated

Test 38

Verdict:

input
100 33
789380894 994229768 42675899 9...

correct output
1 34 1 1 1 1 1 1 1 1 1 1 1 1 1...

user output
29 34 26 26 20 20 20 26 26 26 ...
Truncated

Test 39

Verdict:

input
100 47
246778198 676999670 608531210 ...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
36 36 36 36 36 36 36 36 36 36 ...
Truncated

Test 40

Verdict:

input
100 123
886976100 68201365 172296705 8...

correct output
104 10 23 102 55 94 62 53 10 1...

user output
108 77 77 108 77 108 77 77 77 ...
Truncated

Test 41

Verdict:

input
200 380
317524454 41051177 567149094 1...

correct output
1 1 4 1 1 14 8 8 8 14 1 8 1 1 ...

user output
261 250 261 250 250 261 261 26...
Truncated

Test 42

Verdict:

input
200 46
392347176 726442861 545265216 ...

correct output
17 27 22 17 17 22 24 24 14 17 ...

user output
36 36 36 36 36 36 36 36 36 36 ...
Truncated

Test 43

Verdict:

input
200 90
248312993 106444472 194127938 ...

correct output
21 6 15 26 1 32 26 26 68 85 90...

user output
57 57 57 57 57 57 57 57 68 90 ...
Truncated

Test 44

Verdict:

input
200 340
798996025 496231366 876215524 ...

correct output
270 170 293 217 337 3 53 124 2...

user output
309 224 309 224 340 224 224 22...
Truncated

Test 45

Verdict:

input
200 373
589488280 542132074 375966293 ...

correct output
1 1 1 3 1 1 1 1 3 1 6 1 1 1 6 ...

user output
246 246 246 255 246 246 246 24...
Truncated

Test 46

Verdict:

input
200 385
196646115 242041521 295990544 ...

correct output
2 2 2 5 5 5 2 5 24 2 2 13 1 2 ...

user output
253 253 253 253 253 253 253 25...
Truncated

Test 47

Verdict:

input
200 171
393795758 726432748 126764724 ...

correct output
64 127 18 63 59 13 8 17 65 1 1...

user output
118 127 118 118 118 118 118 11...
Truncated

Test 48

Verdict:

input
200 202
942051979 368818134 268535120 ...

correct output
5 1 1 1 5 1 1 1 1 1 1 1 1 1 5 ...

user output
135 140 140 140 111 140 140 14...
Truncated

Test 49

Verdict:

input
200 45
633221062 364986147 972778007 ...

correct output
1 1 46 1 1 1 2 5 1 1 2 1 1 1 1...

user output
27 35 46 28 27 27 29 29 35 29 ...
Truncated

Test 50

Verdict:

input
200 338
454221387 88895945 317597498 4...

correct output
142 29 99 134 182 88 235 278 2...

user output
223 223 223 223 223 223 244 30...
Truncated

Test 51

Verdict:

input
100000 28757
118267157 851671329 411822891 ...

correct output
1 17 1 1 1 5 1 1 1 1 1 5 1 1 1...

user output
19168 19163 19168 19168 19168 ...
Truncated

Test 52

Verdict:

input
100000 18305
702302355 6062709 611429541 54...

correct output
12872 122 11266 9987 7473 9155...

user output
13346 12201 12201 12201 12201 ...
Truncated

Test 53

Verdict:

input
100000 95231
656622458 70589811 632582055 4...

correct output
62527 6715 60175 47354 58575 8...

user output
63484 63484 63484 63484 63484 ...
Truncated

Test 54

Verdict:

input
100000 30329
45713456 729104659 758685635 8...

correct output
1333 22090 23000 25105 6039 20...

user output
20215 22111 27798 27798 20215 ...
Truncated

Test 55

Verdict:

input
100000 31228
247919198 225373356 731438419 ...

correct output
1 1 1 1 16 1 1 1 1 1 1 1 1 1 1...

user output
20829 20829 20829 20829 20809 ...
Truncated

Test 56

Verdict:

input
100000 30512
675116653 115272339 718909731 ...

correct output
20571 3556 21916 12569 11110 2...

user output
20814 20337 22244 20337 20337 ...
Truncated

Test 57

Verdict:

input
100000 75350
239099439 812355621 986530470 ...

correct output
1 2 203 1 2 1 2 2 1 1 203 17 2...

user output
50240 50240 50110 50233 50240 ...
Truncated

Test 58

Verdict:

input
100000 87421
916970017 111389270 307679149 ...

correct output
80168 9865 27064 35762 21561 8...

user output
80219 58279 58279 58279 58279 ...
Truncated

Test 59

Verdict:

input
100000 37351
409368120 919782880 717179531 ...

correct output
15405 34298 26803 6413 9862 63...

user output
24905 34389 27240 24905 24905 ...
Truncated

Test 60

Verdict:

input
100000 92760
574361642 194853225 729709108 ...

correct output
53251 18025 67482 3845 17916 7...

user output
61837 61837 67634 61837 61837 ...
Truncated