@@ -91344,48 +91344,28 @@ <h3 id="solution-1">Solution 1</h3>
91344
91344
<span class="normal">19</span>
91345
91345
<span class="normal">20</span>
91346
91346
<span class="normal">21</span>
91347
- <span class="normal">22</span>
91348
- <span class="normal">23</span>
91349
- <span class="normal">24</span>
91350
- <span class="normal">25</span>
91351
- <span class="normal">26</span>
91352
- <span class="normal">27</span>
91353
- <span class="normal">28</span>
91354
- <span class="normal">29</span>
91355
- <span class="normal">30</span>
91356
- <span class="normal">31</span>
91357
- <span class="normal">32</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">class</span> <span class="nc">Solution</span><span class="w"> </span><span class="p">{</span>
91347
+ <span class="normal">22</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">class</span> <span class="nc">Solution</span><span class="w"> </span><span class="p">{</span>
91358
91348
<span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="kt">double</span><span class="w"> </span><span class="nf">mincostToHireWorkers</span><span class="p">(</span><span class="kt">int</span><span class="o">[]</span><span class="w"> </span><span class="n">quality</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="o">[]</span><span class="w"> </span><span class="n">wage</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">k</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
91359
91349
<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">n</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">quality</span><span class="p">.</span><span class="na">length</span><span class="p">;</span>
91360
- <span class="w"> </span><span class="n">Pair</span><span class="o">[]</span><span class="w"> </span><span class="n">t</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">Pair</span><span class="o">[</span><span class="n">n</span><span class="o">]</span><span class="p">;</span>
91350
+ <span class="w"> </span><span class="n">Pair</span><span class="o"><</span><span class="n">Double</span><span class="p">,</span><span class="w"> </span><span class="n">Integer</span><span class="o">> []</span><span class="w"> </span><span class="n">t</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">Pair</span><span class="o">[</span><span class="n">n</span><span class="o">]</span><span class="p">;</span>
91361
91351
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="n">n</span><span class="p">;</span><span class="w"> </span><span class="o">++</span><span class="n">i</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
91362
- <span class="w"> </span><span class="n">t</span><span class="o">[</span><span class="n">i</span><span class="o">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">Pair</span><span class="p">(</span><span class="n">quality</span><span class="o">[</span><span class="n">i</span><span class="o">]</span><span class="p">,</span><span class="w"> </span><span class="n">wage </span><span class="o">[</span><span class="n">i</span><span class="o">]</span><span class="p">);</span>
91352
+ <span class="w"> </span><span class="n">t</span><span class="o">[</span><span class="n">i</span><span class="o">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">Pair</span><span class="o"><></span><span class=" p">(( </span><span class="kt">double</span><span class="p">)</span><span class="w"> </span><span class=" n">wage</span><span class="o">[</span><span class="n">i</span><span class="o">]</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="n"> quality</span><span class="o">[</span><span class="n">i</span><span class="o">]</span><span class="p">,</span><span class="w"> </span><span class="n">quality </span><span class="o">[</span><span class="n">i</span><span class="o">]</span><span class="p">);</span>
91363
91353
<span class="w"> </span><span class="p">}</span>
91364
- <span class="w"> </span><span class="n">Arrays</span><span class="p">.</span><span class="na">sort</span><span class="p">(</span><span class="n">t</span><span class="p">,</span><span class="w"> </span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="n">Double</span><span class="p">.</span><span class="na">compare</span><span class="p">(</span><span class="n">a</span><span class="p">.</span><span class="na">x </span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">.</span><span class="na">x </span><span class="p">));</span>
91354
+ <span class="w"> </span><span class="n">Arrays</span><span class="p">.</span><span class="na">sort</span><span class="p">(</span><span class="n">t</span><span class="p">,</span><span class="w"> </span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="n">Double</span><span class="p">.</span><span class="na">compare</span><span class="p">(</span><span class="n">a</span><span class="p">.</span><span class="na">getKey </span><span class="p">() ,</span><span class="w"> </span><span class="n">b</span><span class="p">.</span><span class="na">getKey </span><span class="p">() ));</span>
91365
91355
<span class="w"> </span><span class="n">PriorityQueue</span><span class="o"><</span><span class="n">Integer</span><span class="o">></span><span class="w"> </span><span class="n">pq</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">PriorityQueue</span><span class="o"><></span><span class="p">((</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">a</span><span class="p">);</span>
91366
- <span class="w"> </span><span class="kt">double</span><span class="w"> </span><span class="n">ans</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mf">1e9 </span><span class="p">;</span>
91356
+ <span class="w"> </span><span class="kt">double</span><span class="w"> </span><span class="n">ans</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mf">1e18 </span><span class="p">;</span>
91367
91357
<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">tot</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span>
91368
91358
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kd">var</span><span class="w"> </span><span class="n">e</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="n">t</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
91369
- <span class="w"> </span><span class="n">tot</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="n">e</span><span class="p">.</span><span class="na">q </span><span class="p">;</span>
91370
- <span class="w"> </span><span class="n">pq</span><span class="p">.</span><span class="na">offer</span><span class="p">(</span><span class="n">e</span><span class="p">.</span><span class="na">q </span><span class="p">);</span>
91359
+ <span class="w"> </span><span class="n">tot</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="n">e</span><span class="p">.</span><span class="na">getValue </span><span class="p">() ;</span>
91360
+ <span class="w"> </span><span class="n">pq</span><span class="p">.</span><span class="na">offer</span><span class="p">(</span><span class="n">e</span><span class="p">.</span><span class="na">getValue </span><span class="p">() );</span>
91371
91361
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">pq</span><span class="p">.</span><span class="na">size</span><span class="p">()</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">k</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
91372
- <span class="w"> </span><span class="n">ans</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Math</span><span class="p">.</span><span class="na">min</span><span class="p">(</span><span class="n">ans</span><span class="p">,</span><span class="w"> </span><span class="n">tot</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">e</span><span class="p">.</span><span class="na">x </span><span class="p">);</span>
91362
+ <span class="w"> </span><span class="n">ans</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Math</span><span class="p">.</span><span class="na">min</span><span class="p">(</span><span class="n">ans</span><span class="p">,</span><span class="w"> </span><span class="n">tot</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">e</span><span class="p">.</span><span class="na">getKey </span><span class="p">() );</span>
91373
91363
<span class="w"> </span><span class="n">tot</span><span class="w"> </span><span class="o">-=</span><span class="w"> </span><span class="n">pq</span><span class="p">.</span><span class="na">poll</span><span class="p">();</span>
91374
91364
<span class="w"> </span><span class="p">}</span>
91375
91365
<span class="w"> </span><span class="p">}</span>
91376
91366
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">ans</span><span class="p">;</span>
91377
91367
<span class="w"> </span><span class="p">}</span>
91378
91368
<span class="p">}</span>
91379
-
91380
- <span class="kd">class</span> <span class="nc">Pair</span><span class="w"> </span><span class="p">{</span>
91381
- <span class="w"> </span><span class="kt">double</span><span class="w"> </span><span class="n">x</span><span class="p">;</span>
91382
- <span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">q</span><span class="p">;</span>
91383
-
91384
- <span class="w"> </span><span class="n">Pair</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">q</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">w</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
91385
- <span class="w"> </span><span class="k">this</span><span class="p">.</span><span class="na">q</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">q</span><span class="p">;</span>
91386
- <span class="w"> </span><span class="k">this</span><span class="p">.</span><span class="na">x</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="kt">double</span><span class="p">)</span><span class="w"> </span><span class="n">w</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="n">q</span><span class="p">;</span>
91387
- <span class="w"> </span><span class="p">}</span>
91388
- <span class="p">}</span>
91389
91369
</code></pre></div></td></tr></table></div>
91390
91370
</div>
91391
91371
<div class="tabbed-block">
@@ -91422,7 +91402,7 @@ <h3 id="solution-1">Solution 1</h3>
91422
91402
<span class="w"> </span><span class="p">}</span>
91423
91403
<span class="w"> </span><span class="n">sort</span><span class="p">(</span><span class="n">t</span><span class="p">.</span><span class="n">begin</span><span class="p">(),</span><span class="w"> </span><span class="n">t</span><span class="p">.</span><span class="n">end</span><span class="p">());</span>
91424
91404
<span class="w"> </span><span class="n">priority_queue</span><span class="o"><</span><span class="kt">int</span><span class="o">></span><span class="w"> </span><span class="n">pq</span><span class="p">;</span>
91425
- <span class="w"> </span><span class="kt">double</span><span class="w"> </span><span class="n">ans</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mf">1e9 </span><span class="p">;</span>
91405
+ <span class="w"> </span><span class="kt">double</span><span class="w"> </span><span class="n">ans</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mf">1e18 </span><span class="p">;</span>
91426
91406
<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">tot</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span>
91427
91407
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="k">auto</span><span class="o">&</span><span class="w"> </span><span class="p">[</span><span class="n">x</span><span class="p">,</span><span class="w"> </span><span class="n">q</span><span class="p">]</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="n">t</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
91428
91408
<span class="w"> </span><span class="n">tot</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="n">q</span><span class="p">;</span>
@@ -91480,7 +91460,7 @@ <h3 id="solution-1">Solution 1</h3>
91480
91460
<span class="w"> </span><span class="p">}</span>
91481
91461
<span class="w"> </span><span class="nx">sort</span><span class="p">.</span><span class="nx">Slice</span><span class="p">(</span><span class="nx">t</span><span class="p">,</span><span class="w"> </span><span class="kd">func</span><span class="p">(</span><span class="nx">i</span><span class="p">,</span><span class="w"> </span><span class="nx">j</span><span class="w"> </span><span class="kt">int</span><span class="p">)</span><span class="w"> </span><span class="kt">bool</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">t</span><span class="p">[</span><span class="nx">i</span><span class="p">].</span><span class="nx">x</span><span class="w"> </span><span class="p"><</span><span class="w"> </span><span class="nx">t</span><span class="p">[</span><span class="nx">j</span><span class="p">].</span><span class="nx">x</span><span class="w"> </span><span class="p">})</span>
91482
91462
<span class="w"> </span><span class="nx">tot</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="mi">0</span>
91483
- <span class="w"> </span><span class="kd">var</span><span class="w"> </span><span class="nx">ans</span><span class="w"> </span><span class="kt">float64</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="mf">1e9 </span>
91463
+ <span class="w"> </span><span class="kd">var</span><span class="w"> </span><span class="nx">ans</span><span class="w"> </span><span class="kt">float64</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="mf">1e18 </span>
91484
91464
<span class="w"> </span><span class="nx">pq</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="nx">hp</span><span class="p">{}</span>
91485
91465
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="nx">_</span><span class="p">,</span><span class="w"> </span><span class="nx">e</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="k">range</span><span class="w"> </span><span class="nx">t</span><span class="w"> </span><span class="p">{</span>
91486
91466
<span class="w"> </span><span class="nx">tot</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="nx">e</span><span class="p">.</span><span class="nx">q</span>
@@ -91543,6 +91523,11 @@ <h3 id="solution-1">Solution 1</h3>
91543
91523
91544
91524
<nav>
91545
91525
91526
+ <a href="https://github.com/361930" class="md-author" title="@361930">
91527
+
91528
+ <img src="https://avatars.githubusercontent.com/u/117172329?v=4&size=72" alt="361930">
91529
+ </a>
91530
+
91546
91531
<a href="https://github.com/yanglbme" class="md-author" title="@yanglbme">
91547
91532
91548
91533
<img src="https://avatars.githubusercontent.com/u/21008209?v=4&size=72" alt="yanglbme">
0 commit comments