質問編集履歴
1
正解になったコードを追加しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -28,4 +28,33 @@
|
|
28
28
|
echo 'No';
|
29
29
|
}
|
30
30
|
|
31
|
-
```
|
31
|
+
```
|
32
|
+
追記
|
33
|
+
以下のコードを書くと正解できました。
|
34
|
+
```php
|
35
|
+
<?php
|
36
|
+
|
37
|
+
list($n, $m) = explode(' ', fgets(STDIN));
|
38
|
+
$a = explode(' ', fgets(STDIN));
|
39
|
+
rsort($a);
|
40
|
+
$count = 0;
|
41
|
+
|
42
|
+
//変更点1:全体の1/4Mを関数にまとめる。
|
43
|
+
$t = array_sum($a)/(4*$m);
|
44
|
+
|
45
|
+
//変更点2: $mを$nに
|
46
|
+
for ($i=0; $i<$n ; $i++) {
|
47
|
+
// code...
|
48
|
+
if ($a[$i] >= $t) {
|
49
|
+
// code...
|
50
|
+
$count ++;
|
51
|
+
|
52
|
+
}
|
53
|
+
}
|
54
|
+
if($count >= $m){
|
55
|
+
echo 'Yes';
|
56
|
+
}else{
|
57
|
+
echo 'No';
|
58
|
+
}
|
59
|
+
```
|
60
|
+
M個を選べるかどうか知りたいだけなので、$aを昇順にソートしてしまえば、for文の条件をわざわざ$nに変える必要はないと思うのですが、なぜでしょう...
|