CSES - KILO 2017 4/5 - Results
Submission details
Task:Uolevi and Market
Sender:AVL-tiimi
Submission time:2017-09-26 18:42:09 +0300
Language:C++
Status:READY
Result:
Test results
testverdicttime
#1ACCEPTED0.04 sdetails
#2ACCEPTED0.04 sdetails
#3ACCEPTED0.32 sdetails
#4ACCEPTED0.25 sdetails
#5ACCEPTED0.42 sdetails
#6ACCEPTED0.34 sdetails
#7ACCEPTED0.34 sdetails
#8--details
#9--details
#10--details
#11--details
#12--details
#13--details
#14--details
#15--details
#16--details
#17--details
#18--details
#19--details
#20--details
#21--details
#22--details
#23--details
#24--details
#25--details
#26--details
#27--details
#28--details
#29--details
#30--details
#31--details
#32--details
#33--details
#34--details
#35--details
#36--details
#37--details
#38--details
#39--details
#40--details
#41--details
#42--details
#43--details
#44--details
#45--details
#46--details
#47--details
#48--details
#49--details
#50--details
#51--details
#52--details
#53ACCEPTED0.10 sdetails
#54ACCEPTED0.14 sdetails
#55ACCEPTED0.14 sdetails
#56ACCEPTED0.20 sdetails
#57ACCEPTED0.20 sdetails
#58ACCEPTED0.22 sdetails
#59ACCEPTED0.20 sdetails
#60ACCEPTED0.24 sdetails
#61ACCEPTED0.21 sdetails
#62ACCEPTED0.25 sdetails
#63ACCEPTED0.18 sdetails

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:30:10: warning: unused variable 'f' [-Wunused-variable]
     bool f = 0;
          ^

Code

#include <iostream>
#include <algorithm>
#include <map>
using namespace std;
#define F first
#define S second
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  long n, k;
  cin >> n >> k;
  long t[n];
  for (int i = 0; i < n; ++i) {
    cin >> t[i];
  }
  sort(t, t+n);
  map<long, long> p, p2;
  p[0] = 1;
  long lim = 1e18;
  for (int i = 0; i < n; ++i) {
    if (t[i] >= lim) break;
    p2.clear();
    for (auto it = p.begin(); it != p.end(); it++) {
      pair<long, long> q = *it;
      if (q.F+t[i] >= lim) break;
      p2[q.F+t[i]] += p[q.F];
    }
    for (pair<long, long> q : p2) p[q.F] += q.S;
    long sum = 0;
    bool f = 0;
    for (auto it = p.begin(); it != p.end(); it++) {
      pair<long, long> q = *it;
      sum += q.S;
      if (sum > k) {
        lim = q.F;
        break;
      }
    }
    while (p.size() && p.rbegin()->F >= lim) p.erase(--p.end()); 
  }
  cout << lim << endl;
}

Test details

Test 1

Verdict: ACCEPTED

input
5 30
4 2 1 16 8

correct output
30

user output
30

Test 2

Verdict: ACCEPTED

input
4 5
1 1 2 2

correct output
2

user output
2

Test 3

Verdict: ACCEPTED

input
200000 1000000
35914537 42647291 87909684 169...

correct output
40048

user output
40048

Test 4

Verdict: ACCEPTED

input
200000 999997
61014077 43650830 20341927 512...

correct output
26287

user output
26287

Test 5

Verdict: ACCEPTED

input
200000 999994
70240264 96093067 55381233 200...

correct output
47716

user output
47716

Test 6

Verdict: ACCEPTED

input
200000 1000000
35649442 14455142 42097661 264...

correct output
37463

user output
37463

Test 7

Verdict: ACCEPTED

input
200000 999999
13117573 51346250 57165442 573...

correct output
48524

user output
48524

Test 8

Verdict:

input
200000 1000000
74133476 67906882 94159121 910...

correct output
100448091

user output
(empty)

Test 9

Verdict:

input
200000 999995
93614670 59747155 91096808 981...

correct output
100439561

user output
(empty)

Test 10

Verdict:

input
200000 999995
77940809 63268835 58552239 837...

correct output
100435546

user output
(empty)

Test 11

Verdict:

input
200000 999999
93402872 57557618 74759064 708...

correct output
100441107

user output
(empty)

Test 12

Verdict:

input
200000 999991
83612399 82124316 69515438 975...

correct output
100450517

user output
(empty)

Test 13

Verdict:

input
200000 999999
53962426 90332194 89669526 527...

correct output
67278906

user output
(empty)

Test 14

Verdict:

input
200000 999994
78077015 71621402 94228781 627...

correct output
67288062

user output
(empty)

Test 15

Verdict:

input
200000 999998
61448236 93649865 83826482 685...

correct output
67289186

user output
(empty)

Test 16

Verdict:

input
200000 999998
42674581 80397818 85436433 525...

correct output
67277799

user output
(empty)

Test 17

Verdict:

input
200000 999992
87054268 82500803 58062748 907...

correct output
67292946

user output
(empty)

Test 18

Verdict:

input
118 999990
24606314 26881915 83697723 314...

correct output
59893004

user output
(empty)

Test 19

Verdict:

input
114 999990
7508556 44887712 13807527 1373...

correct output
58898150

user output
(empty)

Test 20

Verdict:

input
60 999999
70830090 54903764 84787294 592...

correct output
131136907

user output
(empty)

Test 21

Verdict:

input
60 999995
26547370 1696909 47532807 4204...

correct output
120528479

user output
(empty)

Test 22

Verdict:

input
82 999991
30344020 85572550 14839656 688...

correct output
84360885

user output
(empty)

Test 23

Verdict:

input
115 999995
54759837 94799018 75148969 609...

correct output
265227849

user output
(empty)

Test 24

Verdict:

input
92 999998
83834052 81737375 96920614 974...

correct output
290583555

user output
(empty)

Test 25

Verdict:

input
118 999990
67250889 58936420 59051268 534...

correct output
259448394

user output
(empty)

Test 26

Verdict:

input
84 1000000
93928620 74036291 93350031 581...

correct output
298797537

user output
(empty)

Test 27

Verdict:

input
116 1000000
57328438 70122878 82388890 502...

correct output
257886720

user output
(empty)

Test 28

Verdict:

input
64 999994
66326096 74371473 35345424 605...

correct output
261238357

user output
(empty)

Test 29

Verdict:

input
101 999991
76537247 62075235 55562035 409...

correct output
223349203

user output
(empty)

Test 30

Verdict:

input
96 999992
54160104 62176925 57826972 657...

correct output
222688987

user output
(empty)

Test 31

Verdict:

input
93 999997
85439260 80904987 73271551 933...

correct output
227876438

user output
(empty)

Test 32

Verdict:

input
92 999995
77813962 94408431 56259996 683...

correct output
234405809

user output
(empty)

Test 33

Verdict:

input
112 999990
49974705 72633033 41677908 918...

correct output
178928274

user output
(empty)

Test 34

Verdict:

input
105 999992
76300298 77811005 27684325 765...

correct output
186022493

user output
(empty)

Test 35

Verdict:

input
71 999999
62693484 87177530 45066123 393...

correct output
215438196

user output
(empty)

Test 36

Verdict:

input
116 1000000
90037623 54173518 87617924 724...

correct output
178731024

user output
(empty)

Test 37

Verdict:

input
106 999998
36516564 42111213 44365846 869...

correct output
194634751

user output
(empty)

Test 38

Verdict:

input
840 999999
26237876 15602392 84690614 992...

correct output
5721937

user output
(empty)

Test 39

Verdict:

input
943 999993
56464921 36827489 64259440 549...

correct output
6098943

user output
(empty)

Test 40

Verdict:

input
1842 999999
22720484 18646774 73741679 151...

correct output
4474692

user output
(empty)

Test 41

Verdict:

input
1279 999994
94762285 14088940 1644295 8200...

correct output
4231961

user output
(empty)

Test 42

Verdict:

input
1697 999998
97851850 63055272 31579609 528...

correct output
4628295

user output
(empty)

Test 43

Verdict:

input
807 999994
92111097 66175026 65616513 950...

correct output
170077689

user output
(empty)

Test 44

Verdict:

input
1419 999994
50559319 94606341 98969606 999...

correct output
158038991

user output
(empty)

Test 45

Verdict:

input
1453 999998
53864345 60040214 63738530 676...

correct output
158550902

user output
(empty)

Test 46

Verdict:

input
1252 999999
90006245 55183477 96168215 564...

correct output
159567145

user output
(empty)

Test 47

Verdict:

input
1341 999990
87329698 93796250 60725827 954...

correct output
159902950

user output
(empty)

Test 48

Verdict:

input
1440 999997
97841217 83382136 35620107 810...

correct output
113524436

user output
(empty)

Test 49

Verdict:

input
1826 999991
54543844 47545004 40426026 510...

correct output
109879435

user output
(empty)

Test 50

Verdict:

input
887 1000000
34460498 71787503 33446890 636...

correct output
122498648

user output
(empty)

Test 51

Verdict:

input
1170 999990
85096647 86660620 49474653 542...

correct output
115613417

user output
(empty)

Test 52

Verdict:

input
835 999993
54480677 51249282 39409673 833...

correct output
125841387

user output
(empty)

Test 53

Verdict: ACCEPTED

input
200000 999995
100000000 100000000 100000000 ...

correct output
200000000

user output
200000000

Test 54

Verdict: ACCEPTED

input
200000 999994
2761 2821 4103 1824 1499 2287 ...

correct output
1485

user output
1485

Test 55

Verdict: ACCEPTED

input
200000 1000000
2242 3461 1843 4422 3117 1682 ...

correct output
1484

user output
1484

Test 56

Verdict: ACCEPTED

input
200000 999996
1727 4798 1438 4369 2651 4268 ...

correct output
1497

user output
1497

Test 57

Verdict: ACCEPTED

input
200000 999990
3944 1053 4668 3351 3236 4781 ...

correct output
1496

user output
1496

Test 58

Verdict: ACCEPTED

input
200000 999996
1964 3445 3391 4307 2742 3853 ...

correct output
1523

user output
1523

Test 59

Verdict: ACCEPTED

input
200000 999993
3051 4465 4099 2105 2142 3553 ...

correct output
1493

user output
1493

Test 60

Verdict: ACCEPTED

input
200000 999990
2957 3354 3456 1009 4854 4747 ...

correct output
1543

user output
1543

Test 61

Verdict: ACCEPTED

input
200000 999998
1371 2549 3797 3247 3424 2800 ...

correct output
1506

user output
1506

Test 62

Verdict: ACCEPTED

input
200000 999992
4081 4463 3326 4078 3790 4232 ...

correct output
1544

user output
1544

Test 63

Verdict: ACCEPTED

input
200000 999994
2660 2489 2599 2268 2084 3274 ...

correct output
1484

user output
1484