<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>難易度-1600 - IQパズルステップ</title>
	<atom:link href="https://chokomon.com/tag/difficulty-1600/feed/" rel="self" type="application/rss+xml" />
	<link>https://chokomon.com</link>
	<description>ちょこっと頭を良くするIQパズル問題集</description>
	<lastBuildDate>Fri, 30 Sep 2022 13:52:52 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://chokomon.com/wp-content/uploads/2022/02/cropped-icon512-32x32.png</url>
	<title>難易度-1600 - IQパズルステップ</title>
	<link>https://chokomon.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>【クラス・構造体メニュー】クラスの作成 (paizaランク C)-解答例-PHP編</title>
		<link>https://chokomon.com/26-class_primer-02-01-00662/</link>
					<comments>https://chokomon.com/26-class_primer-02-01-00662/#respond</comments>
		
		<dc:creator><![CDATA[東鳥子]]></dc:creator>
		<pubDate>Tue, 27 Sep 2022 13:32:15 +0000</pubDate>
				<category><![CDATA[paiza-問題集]]></category>
		<category><![CDATA[クラス・構造体メニュー]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ランクC]]></category>
		<category><![CDATA[難易度-1600]]></category>
		<guid isPermaLink="false">https://chokomon.com/?p=6959</guid>

					<description><![CDATA[【クラス・構造体メニュー】&#62; 【静的メンバ】STEP: 1 クラスの作成 (paizaランク C 相当)&#160;[難易度:&#160;1606&#160;±15] ※リンク先へ移動するためには[paiza]へのログインが必要です。…]]></description>
										<content:encoded><![CDATA[
<p>【<a href="https://chokomon.com/paiza_mondai/26-class_primer/">クラス・構造体メニュー</a>】&gt; <a href="https://paiza.jp/works/mondai/class_primer/class_primer__make_class" target="_blank" rel="noreferrer noopener">【静的メンバ】STEP: 1 クラスの作成 (paizaランク C 相当)</a>&nbsp;[難易度:&nbsp;<strong>1606&nbsp;±15</strong>]



<p>※リンク先へ移動するためには[<a href="https://paiza.jp/works" target="_blank" rel="noreferrer noopener">paiza</a>]へのログインが必要です。</p>



<figure class="wp-block-image aligncenter size-full"><img fetchpriority="high" decoding="async" width="660" height="300" src="https://chokomon.com/wp-content/uploads/2022/09/26-02-01-01.png" alt="" class="wp-image-6960"/></figure>



<div class="wp-block-dvaux-frame sc_frame_wrap inline"><div class="sc_frame_title inline" style="background-color:#ccc">問題文</div><div class="sc_frame" style="background-color:#fff;border-color:#ccc">
<p>エンジニアであり、社員を管理を管理する立場にあるあなたは、効率的に社員を管理するために、<br>各社員の社員番号 number と名前 name を持ち、加えて情報を返す関数を持つような構造体、すなわち次のようなメンバ変数とメンバ関数を持つ社員クラス<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-light-orange-color">&nbsp;<code>class employee</code>&nbsp;</mark>を作成することにしました。<br><br>メンバ変数</p>



<p class="has-gray-background-color has-background">number : 整数<br>name : 文字列</p>



<p>メンバ関数</p>



<p class="has-gray-background-color has-background">getnum(){<br>    return number;<br>}<br>getname(){<br>    return name;<br>}</p>



<p>入力で<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-light-orange-color">&nbsp;<code>make number name</code>&nbsp;</mark>と入力された場合は変数に number , name を持つ社員を作成し、<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-light-orange-color">&nbsp;<code>getnum n</code></mark>&nbsp;と入力された場合は n 番目に作成された社員の number を、<code><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-light-orange-color">getname n</mark></code>&nbsp;と入力された場合は n 番目に作成された社員の name を出力してください。</p>
</div></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">解答例</h2>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php
    //Classを定義
    class employee {
        //プロパティを定義
        private $number;
        private $name;
        
        //インスタンス化するときに引数を受け取れるようにする
        public function __construct($number, $name) {
            $this-&gt;number = $number;
            $this-&gt;name = $name;
        }
        //数字を取得するメソッドを追加
        public function getnum() {
            return $this-&gt;number;
        }
        public function getname() {
            return $this-&gt;name;
        }
    }
    
    $n = trim(fgets(STDIN));
    for($i=0; $i&lt;$n; $i++) {
        $s = explode(" ", trim(fgets(STDIN)));
        
        $commond = $s[0];
        $num = $s[1];
        
        switch($commond) {
            case "make" :
                $name = $s[2];
                $employee[] = new employee($num, $name);
                break;
            case "getnum" :
                echo ($employee[$num-1]-&gt;getnum()). "\n";
                break;
            case "getname" :
                echo ($employee[$num-1]-&gt;getname()). "\n";
                break;
        }
    }
?&gt;</pre></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img decoding="async" width="660" height="200" src="https://chokomon.com/wp-content/uploads/2022/09/26-02-01-02.png" alt="" class="wp-image-6962"/></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://chokomon.com/26-class_primer-02-01-00662/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【クラス・構造体メニュー】構造体の整列 (paizaランク C)-解答例-PHP編</title>
		<link>https://chokomon.com/26-class_primer-01-03-00658/</link>
					<comments>https://chokomon.com/26-class_primer-01-03-00658/#respond</comments>
		
		<dc:creator><![CDATA[東鳥子]]></dc:creator>
		<pubDate>Wed, 21 Sep 2022 10:36:00 +0000</pubDate>
				<category><![CDATA[paiza-問題集]]></category>
		<category><![CDATA[クラス・構造体メニュー]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ランクC]]></category>
		<category><![CDATA[難易度-1600]]></category>
		<guid isPermaLink="false">https://chokomon.com/?p=6936</guid>

					<description><![CDATA[【クラス・構造体メニュー】> 【構造体の更新】STEP: 3 構造体の整列 (paizaランク C 相当) [難易度: 1662 ±15] ※リンク先へ移動するためには[paiza]へのログインが必要です。 解答例]]></description>
										<content:encoded><![CDATA[
<p>【<a href="https://chokomon.com/paiza_mondai/26-class_primer/">クラス・構造体メニュー</a>】> <a href="https://paiza.jp/works/mondai/class_primer/class_primer__sort" target="_blank" rel="noreferrer noopener">【構造体の更新】STEP: 3 構造体の整列 (paizaランク C 相当)</a> [難易度: <strong>1662 ±15</strong>]



<p>※リンク先へ移動するためには[<a href="https://paiza.jp/works" target="_blank" rel="noreferrer noopener">paiza</a>]へのログインが必要です。</p>



<figure class="wp-block-image aligncenter size-full"><img decoding="async" width="660" height="300" src="https://chokomon.com/wp-content/uploads/2022/09/26-01-03-01.png" alt="" class="wp-image-6937"/></figure>



<div class="wp-block-dvaux-frame sc_frame_wrap inline"><div class="sc_frame_title inline" style="background-color:#ccc">問題文</div><div class="sc_frame" style="background-color:#fff;border-color:#ccc">
<p>クラスの学級委員である paiza 君は、クラスのみんなに次のような形式でアカウントの情報を送ってもらうよう依頼しました。</p>



<p class="has-gray-background-color has-background">名前 年齢 誕生日 出身地</p>



<p>送ってもらったデータを使いやすいように整理したいと思った paiza 君はクラス全員分のデータを次の形式でまとめることにしました。</p>



<p class="has-gray-background-color has-background">User{<br>    nickname : 名前<br>    old : 年齢<br>    birth : 誕生日<br>    state : 出身地<br>}</p>



<p>この情報を扱いやすくするために、年齢が昇順になるようにデータを並び替えることにしました。<br>クラスメートの情報が与えられるので、並び替えた後のデータを出力してください。</p>



<p></p>



<p><strong>入力値（例）</strong><br>1<br>koko 23 04/10 tokyo</p>



<p><strong>出力値（例）</strong><br>koko 23 04/10 tokyo</p>
</div></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">解答例</h2>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php
    // Studentというクラス(型)を宣言。クラスの1文字目は大文字
    class Student {
     
      // プロパティ
      public $name;
      public $old;
      public $birth;
      public $state;
      //  メソッド
      function showData(){
        
      }
    }
    //クラスStudentのインスタンスを作成
    $deta = new Student;
    
    $n = trim(fgets(STDIN));
    for($i=0; $i&lt;$n; $i++) {
        list($name, $old, $birth, $state) = explode(" ", trim(fgets(STDIN)));
        
        $student[] = array("name"=&gt;$name,
            "old"=&gt;$old, "birth"=&gt;$birth, "state"=&gt;$state);
    }
    
    array_multisort(array_column($student, "old"), SORT_ASC, $student);
    //print_r($student);
    
    for($i=0; $i&lt;$n; $i++) {
        printf("%s %d %s %s\n", 
        $student[$i]["name"], $student[$i]["old"],
        $student[$i]["birth"], $student[$i]["state"]);
    }   
?&gt;</pre></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="160" src="https://chokomon.com/wp-content/uploads/2022/09/26-01-03-02.png" alt="" class="wp-image-6938"/></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://chokomon.com/26-class_primer-01-03-00658/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【累積和メニュー】二次元累積和 3 (paizaランク C)-解答例-PHP編</title>
		<link>https://chokomon.com/27-prefix_sum_problems-05-03-00632/</link>
					<comments>https://chokomon.com/27-prefix_sum_problems-05-03-00632/#respond</comments>
		
		<dc:creator><![CDATA[東鳥子]]></dc:creator>
		<pubDate>Sun, 11 Sep 2022 20:45:50 +0000</pubDate>
				<category><![CDATA[paiza-問題集]]></category>
		<category><![CDATA[累積和メニュー]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ランクC]]></category>
		<category><![CDATA[難易度-1600]]></category>
		<guid isPermaLink="false">https://chokomon.com/?p=6783</guid>

					<description><![CDATA[【累積和メニュー】&#62; 【二次元累積和】STEP: 3 二次元累積和 3 (paizaランク C 相当)&#160;[難易度:&#160;1667&#160;±40] ※リンク先へ移動するためには[paiza]へのログインが必要です。 …]]></description>
										<content:encoded><![CDATA[
<p>【<a href="https://chokomon.com/paiza_mondai/27-prefix_sum_problems/">累積和メニュー</a>】&gt;<a href="https://paiza.jp/works/mondai/prefix_sum_problems/prefix_sum_problems__2dsection_sum_step3" target="_blank" rel="noreferrer noopener"> 【二次元累積和】STEP: 3 二次元累積和 3 (paizaランク C 相当)</a>&nbsp;[難易度:&nbsp;<strong>1667&nbsp;±40</strong>]



<p>※リンク先へ移動するためには[<a href="https://paiza.jp/works" target="_blank" rel="noreferrer noopener">paiza</a>]へのログインが必要です。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="300" src="https://chokomon.com/wp-content/uploads/2022/09/27-05-03-01.png" alt="" class="wp-image-6784"/></figure>



<div class="wp-block-dvaux-frame sc_frame_wrap inline"><div class="sc_frame_title inline" style="background-color:#ccc">問題文</div><div class="sc_frame" style="background-color:#fff;border-color:#ccc">
<p>1 行目に整数 a, b が与えられます。</p>



<p>2 行目以降に 5 行 5 列の整数の二次元配列 A が与えられます。</p>



<p>A の i 行目 j 列目を A_{i, j} (0 ≦ i ≦ 4, 0 ≦ j ≦ 4) と表すことにします。</p>



<p>長方形領域の左上の要素を A_{a, 3} 、右下の要素を A_{b, 3} としたとき、この長方形領域内の整数の和を累積和を用いて求め、一行で出力してください。</p>



<p></p>



<p><strong>入力値（例）</strong><br>1 3<br>1 2 3 4 5<br>2 3 4 5 6<br>3 4 5 6 7<br>4 5 6 7 8<br>5 6 7 8 9</p>



<p><strong>出力値（例）</strong><br>18</p>
</div></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">解答例</h2>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php
    list($ay, $by) = explode(" ", trim(fgets(STDIN)));
    
    for ($i=0; $i&lt;5; $i++) {
        $a[$i] = explode(" ", trim(fgets(STDIN)));
    }
    //print_r($a);
        
    $sy = $ay; $sx = 3; $ly = $by; $lx = 3;
    $h = 5; $w = 5;
    
    $sRow = array_fill(0, $w+1, 0);
    $s = array_fill(0, $h+1, $sRow);
    
    for ($i=0; $i&lt;$h; $i++) {
        for ($j=0; $j&lt;$w; $j++) {
            $s[$i+1][$j+1] = $a[$i][$j]+$s[$i][$j+1]+$s[$i+1][$j]-$s[$i][$j];
        }
    }
    //print_r($s);
    
    $ans = $s[$ly+1][$lx+1]-$s[$sy][$lx+1]-$s[$ly+1][$sx]+$s[$sy][$sx];
    echo $ans;
?&gt;</pre></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="160" src="https://chokomon.com/wp-content/uploads/2022/09/27-05-03-02.png" alt="" class="wp-image-6785"/></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://chokomon.com/27-prefix_sum_problems-05-03-00632/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【累積和メニュー】二次元累積和 1 (paizaランク C)-解答例-PHP編</title>
		<link>https://chokomon.com/27-prefix_sum_problems-05-01-00630/</link>
					<comments>https://chokomon.com/27-prefix_sum_problems-05-01-00630/#respond</comments>
		
		<dc:creator><![CDATA[東鳥子]]></dc:creator>
		<pubDate>Sat, 10 Sep 2022 20:27:59 +0000</pubDate>
				<category><![CDATA[paiza-問題集]]></category>
		<category><![CDATA[累積和メニュー]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ランクC]]></category>
		<category><![CDATA[難易度-1600]]></category>
		<guid isPermaLink="false">https://chokomon.com/?p=6771</guid>

					<description><![CDATA[【累積和メニュー】&#62; 【二次元累積和】STEP: 1 二次元累積和 1 (paizaランク C 相当)&#160;[難易度:&#160;1634&#160;±37] ※リンク先へ移動するためには[paiza]へのログインが必要です。 …]]></description>
										<content:encoded><![CDATA[
<p>【<a href="https://chokomon.com/paiza_mondai/27-prefix_sum_problems/">累積和メニュー</a>】&gt; <a href="https://paiza.jp/works/mondai/prefix_sum_problems/prefix_sum_problems__2dsection_sum_step1" target="_blank" rel="noreferrer noopener">【二次元累積和】STEP: 1 二次元累積和 1 (paizaランク C 相当)</a>&nbsp;[難易度:&nbsp;<strong>1634&nbsp;±37</strong>]



<p>※リンク先へ移動するためには[<a href="https://paiza.jp/works" target="_blank" rel="noreferrer noopener">paiza</a>]へのログインが必要です。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="300" src="https://chokomon.com/wp-content/uploads/2022/09/27-05-01-01.png" alt="" class="wp-image-6772"/></figure>



<div class="wp-block-dvaux-frame sc_frame_wrap inline"><div class="sc_frame_title inline" style="background-color:#ccc">問題文</div><div class="sc_frame" style="background-color:#fff;border-color:#ccc">
<p>5 行 5 列の整数が以下のように与えられます。</p>



<p class="has-gray-background-color has-background">1 2 3 4 5<br>2 3 4 5 6<br>3 4 5 6 7<br>4 5 6 7 8<br>5 6 7 8 9</p>



<p>これを二次元配列 A としたとき、i 行目 j 列目を A_{i, j} (0 ≦ i ≦ 4, 0 ≦ j ≦ 4) と表すことにします。</p>



<p>長方形領域の左上の要素を A_{1, 1}, 右下の要素を A_{3, 3} としたとき、この長方形領域内の整数の和を累積和を用いて求め、一行で出力してください。</p>



<p>左上の要素を A_{1, 1}, 右下の要素を A_{3, 3} としたときの長方形領域とは二次元配列 A のこの領域を指します。</p>



<p class="has-gray-background-color has-background">3 4 5<br>4 5 6<br>5 6 7</p>



<p></p>



<p></p>



<p><strong>入力値（例）</strong><br>なし</p>



<p><strong>出力値（例）</strong><br>長方形領域の左上の要素を A_{1, 1}, 右下の要素を A_{3, 3} としたとき、この長方形領域内の整数の和を累積和を用いて求め、一行で出力してください。</p>



<p>末尾に改行を入れ、余計な文字、空行を含んではいけません。</p>
</div></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">解答例</h2>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php
    $a = [[1, 2, 3, 4, 5],
        [2, 3, 4, 5, 6],
        [3, 4, 5, 6, 7],
        [4, 5, 6, 7, 8],
        [5, 6, 7, 8, 9]];
        
    $sy = 1; $sx = 1; $ly = 3; $lx = 3;
    $h = 5; $w = 5;
    
    $sRow = array_fill(0, $w+1, 0);
    $s = array_fill(0, $h+1, $sRow);
    
    for ($i=0; $i&lt;$h; $i++) {
        for ($j=0; $j&lt;$w; $j++) {
            $s[$i+1][$j+1] = $a[$i][$j]+$s[$i][$j+1]+$s[$i+1][$j]-$s[$i][$j];
        }
    }
    //print_r($s);
    
    // a[1][1], a[3][3] 領域の和を求める
    // a[0][0], a[3][3] 領域の和 =&gt; s[4][4]: 64
    // a[0][0], a[0][4] 領域の和 =&gt; s[1][5]: 10
    // a[0][0], a[4][0] 領域の和 =&gt; s[5][1]: 10
    // a[0][0], a[0][0] 領域の和 =&gt; s[1][1]: 1
    // s[4][4] - s[1][4] - s[4][1] + s[1][1]
    // 64 - 10 - 10 + 1 = 45
    
    $ans = $s[$ly+1][$lx+1]-$s[$sy][$lx+1]-$s[$ly+1][$sx]+$s[$sy][$sx];
    echo $ans;
?&gt;</pre></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="160" src="https://chokomon.com/wp-content/uploads/2022/09/27-05-01-02.png" alt="" class="wp-image-6773"/></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://chokomon.com/27-prefix_sum_problems-05-01-00630/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【スキルチェック過去問題セット】日別訪問者数の最大平均区間 (paizaランク B)-解答例-PHP編</title>
		<link>https://chokomon.com/32-skillcheck_archive-01-05-00610/</link>
					<comments>https://chokomon.com/32-skillcheck_archive-01-05-00610/#respond</comments>
		
		<dc:creator><![CDATA[東鳥子]]></dc:creator>
		<pubDate>Tue, 06 Sep 2022 01:02:19 +0000</pubDate>
				<category><![CDATA[paiza-問題集]]></category>
		<category><![CDATA[スキルチェック過去問題セット]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ランクB]]></category>
		<category><![CDATA[難易度-1600]]></category>
		<guid isPermaLink="false">https://chokomon.com/?p=6636</guid>

					<description><![CDATA[【スキルチェック過去問題セット】&#62; 日別訪問者数の最大平均区間 (paizaランク B 相当)&#160;[難易度:&#160;1628&#160;±9] ※リンク先へ移動するためには[paiza]へのログインが必要です。 解答例]]></description>
										<content:encoded><![CDATA[
<p>【<a href="https://chokomon.com/paiza_mondai/paiza_set/32-skillcheck_archive/">スキルチェック過去問題セット</a>】&gt; <a href="https://paiza.jp/works/mondai/skillcheck_archive/max_range" target="_blank" rel="noreferrer noopener">日別訪問者数の最大平均区間 (paizaランク B 相当)</a>&nbsp;[難易度:&nbsp;<strong>1628&nbsp;±9</strong>]



<p>※リンク先へ移動するためには[<a rel="noreferrer noopener" href="https://paiza.jp/works" target="_blank">paiza</a>]へのログインが必要です。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="300" src="https://chokomon.com/wp-content/uploads/2022/09/32-01-05-01.png" alt="" class="wp-image-6637"/></figure>



<div class="wp-block-dvaux-frame sc_frame_wrap inline"><div class="sc_frame_title inline" style="background-color:#ccc">問題文</div><div class="sc_frame" style="background-color:#fff;border-color:#ccc">
<p>あなたは、とあるウェブサイトを管理していました。<br>ある連続したk日間、このウェブサイトでキャンペーンを行ったのですが、いつからいつまでの期間に行ったかを忘れてしまいました。</p>



<p>幸い、ウェブサイトを運営していた全n日分のアクセスログが残っており、1日ごとの訪問者数が分かっています。<br>とりあえず、連続するk日の中で、1日あたりの平均訪問者数が最も多い期間を、キャンペーンを行った期間の候補だと考えることにしました。</p>



<p>n日分の訪問者数のリストとキャンペーンの日数kが入力されるので、キャンペーンを行った期間の候補数と、候補の中で最も早い開始日を出力してください。</p>



<p></p>



<p><strong>入力値（例）</strong><br>5 3<br>1 2 3 2 1</p>



<p><strong>出力値（例）</strong><br>1 2</p>
</div></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">解答例</h2>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php
    list($n, $k) = explode(" ", trim(fgets(STDIN)));
    $a = explode(" ", trim(fgets(STDIN)));
    
    $total = [$n-$k+1];
    for ($i=0; $i&lt;$n-$k+1; $i++) {
        $total[$i] = 0;
        
        for ($j=$i; $j&lt;$i+$k; $j++) {
            $total[$i] += $a[$j];
        }
    }
    
    $max = 0;
    for ($i=0; $i&lt;$n-$k+1; $i++) {
        if ($max&lt;=$total[$i]) $max = $total[$i];
    }
    
    $count = 0;
    for ($i=0; $i&lt;$n-$k+1; $i++) {
        if ($total[$i] == $max) $count++;
    }
    
    $first_day = 0;
    for ($i=0; $i&lt;$n-$k+1; $i++) {
        if ($total[$i] == $max) {
            $first_day = $i+1;
            break;
        }
    }
    
    printf("%d %d\n", $count, $first_day);
?&gt;</pre></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="160" src="https://chokomon.com/wp-content/uploads/2022/09/32-01-05-02.png" alt="" class="wp-image-6638"/></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://chokomon.com/32-skillcheck_archive-01-05-00610/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【ユークリッドの互除法メニュー】ax + by = c (paizaランク C)-解答例-PHP編</title>
		<link>https://chokomon.com/24-euclidean_primer-01-04-00594/</link>
					<comments>https://chokomon.com/24-euclidean_primer-01-04-00594/#respond</comments>
		
		<dc:creator><![CDATA[東鳥子]]></dc:creator>
		<pubDate>Mon, 22 Aug 2022 19:09:25 +0000</pubDate>
				<category><![CDATA[paiza-問題集]]></category>
		<category><![CDATA[ユークリッドの互除法メニュー]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ランクC]]></category>
		<category><![CDATA[難易度-1600]]></category>
		<guid isPermaLink="false">https://chokomon.com/?p=6541</guid>

					<description><![CDATA[【ユークリッドの互除法メニュー】> 【拡張ユークリッドの互除法】STEP: 4 ax + by = c (paizaランク C 相当) [難易度: 1626 ±36] ※リンク先へ移動するためには[paiza]へのログインが必要です。 解答…]]></description>
										<content:encoded><![CDATA[
<p>【<a href="https://chokomon.com/paiza_mondai/24-euclidean_primer/">ユークリッドの互除法メニュー</a>】> <a href="https://paiza.jp/works/mondai/euclidean_primer/euclidean_primer__ax+by=c" target="_blank" rel="noreferrer noopener">【拡張ユークリッドの互除法】STEP: 4 ax + by = c (paizaランク C 相当)</a> [難易度: <strong>1626 ±36</strong>]



<p>※リンク先へ移動するためには[<a rel="noreferrer noopener" href="https://paiza.jp/works" target="_blank">paiza</a>]へのログインが必要です。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="300" src="https://chokomon.com/wp-content/uploads/2022/08/24-01-04-01.png" alt="" class="wp-image-6542"/></figure>



<div class="wp-block-dvaux-frame sc_frame_wrap inline"><div class="sc_frame_title inline" style="background-color:#ccc">問題文</div><div class="sc_frame" style="background-color:#fff;border-color:#ccc">
<p>ユークリッドの互除法の操作を応用させると、一見最大公約数とは関連のなさそうな 2 変数の一次方程式の整数解を求めることができます。<br><br>例として、<code><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-light-orange-color">15x + 100y = 10</mark></code> の整数解 x , y を求めることを考えます。<br>x , y の係数である 15 , 100 についてユークリッドの互除法の操作を行うと、<code><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-light-orange-color">100 / 15 = 6 余り 10</mark></code><br>この式を変形することで、 <code><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-light-orange-color">100 - 6×15 = 10</mark></code> が得られるので、答えは <code><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-light-orange-color">x = -6 , y = 1</mark></code> と求まります。<br><br>整数 A,B,C が与えられるので、<code><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-light-orange-color">Ax + By = C</mark></code> の整数解 x , y の値を 1 行で半角スペース区切りで出力してください。<br>解の組 (x , y) のうち、x または y が 1 であるような解の組の値を出力してください。<br><br>ただし、 <code><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-light-orange-color">C = A%B</mark></code> または <code><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-light-orange-color">C = B%A</mark></code> であることが保証されています。</p>



<p></p>



<p><strong>入力値（例）</strong><br>8373 24 21</p>



<p><strong>出力値（例）</strong><br>1 -348</p>
</div></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">解答例</h2>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php
    list($a, $b, $c) = explode(" ", trim(fgets(STDIN)));

    if ($a &gt; $b) {
        printf("%d %d\n", 1, ($c - $a) / $b);
        
    }else if ($a &lt; $b) {
        printf("%d %d\n", ($c - $b) / $a, 1);
    }
    return 0;
?&gt;</pre></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="160" src="https://chokomon.com/wp-content/uploads/2022/08/24-01-04-02.png" alt="" class="wp-image-6543"/></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://chokomon.com/24-euclidean_primer-01-04-00594/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【日付セット】翌営業日 - その1 (paizaランク C)-解答例-PHP編</title>
		<link>https://chokomon.com/34-dateset-01-09-00587/</link>
					<comments>https://chokomon.com/34-dateset-01-09-00587/#respond</comments>
		
		<dc:creator><![CDATA[東鳥子]]></dc:creator>
		<pubDate>Sat, 20 Aug 2022 19:05:20 +0000</pubDate>
				<category><![CDATA[paiza-問題集]]></category>
		<category><![CDATA[日付セット]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ランクC]]></category>
		<category><![CDATA[難易度-1600]]></category>
		<guid isPermaLink="false">https://chokomon.com/?p=6493</guid>

					<description><![CDATA[【日付セット】> 翌営業日 - その1 (paizaランク C 相当) [難易度: 1662 ±23] ※リンク先へ移動するためには[paiza]へのログインが必要です。 解答例]]></description>
										<content:encoded><![CDATA[
<p>【<a href="https://chokomon.com/paiza_mondai/paiza_set/34-dateset/">日付セット</a>】> <a href="https://paiza.jp/works/mondai/dateset/working_day_1" target="_blank" rel="noreferrer noopener">翌営業日 - その1 (paizaランク C 相当)</a> [難易度: <strong>1662 ±23</strong>]



<p>※リンク先へ移動するためには[<a href="https://paiza.jp/works" target="_blank" rel="noreferrer noopener">paiza</a>]へのログインが必要です。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="300" src="https://chokomon.com/wp-content/uploads/2022/08/34-01-09-01.png" alt="" class="wp-image-6494"/></figure>



<div class="wp-block-dvaux-frame sc_frame_wrap inline"><div class="sc_frame_title inline" style="background-color:#ccc">問題文</div><div class="sc_frame" style="background-color:#fff;border-color:#ccc">
<p>M月D日d曜日の翌営業日の日付を表示してください。</p>



<p>営業日には、次のルールがあります。</p>



<p>・営業日は、月曜日から金曜日とし、休業日は、土曜日と日曜日とします。<br>・休業日は土曜日と日曜日のみです。例えば、祝日の「海の日」は月曜日ですが、営業日とします。</p>



<p>日付には、次のルールがあります。</p>



<p>・全ての年の2月28日の翌日は、3月1日とします。うるう年は考慮しません。</p>



<p></p>



<p><strong>入力値（例）</strong><br>12 31 MON</p>



<p><strong>出力値（例）</strong><br>1月1日</p>
</div></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">解答例</h2>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php
    list($m, $d, $dd) = explode(" ", trim(fgets(STDIN)));
    
    if ($dd == "FRI") {
        $d += 3;
    } else if ($dd == "SAT") {
        $d += 2;
    } else {
        $d += 1;
    }
    
    if ($m == 1 || $m == 3 || $m == 5 || $m == 7
        || $m == 8 || $m == 10 || $m == 12) {
        if ($d &gt; 31) {
            if ($m == 12) {
                $m = 1;
                $d -= 31;
            } else {
                $m++;
                $d -= 31;
            }
        }
        
    } else if ($m == 2) {
        if ($d &gt; 28) {
            $m++;
            $d -= 28;
        }
        
    } else if ($m == 4 || $m == 6 || $m == 9 || $m == 11) {
        if ($d &gt; 30) {
            $m++;
            $d -= 30;
        }
    }
    
    printf("%d月%d日", $m, $d);
?&gt;</pre></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="160" src="https://chokomon.com/wp-content/uploads/2022/08/34-01-09-02.png" alt="" class="wp-image-6495"/></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://chokomon.com/34-dateset-01-09-00587/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【ユークリッドの互除法メニュー】3 つ以上の整数の最大公約数 (paizaランク C)-解答例-PHP編</title>
		<link>https://chokomon.com/24-euclidean_primer-01-02-00586/</link>
					<comments>https://chokomon.com/24-euclidean_primer-01-02-00586/#respond</comments>
		
		<dc:creator><![CDATA[東鳥子]]></dc:creator>
		<pubDate>Sat, 20 Aug 2022 02:30:16 +0000</pubDate>
				<category><![CDATA[paiza-問題集]]></category>
		<category><![CDATA[ユークリッドの互除法メニュー]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ランクC]]></category>
		<category><![CDATA[難易度-1600]]></category>
		<guid isPermaLink="false">https://chokomon.com/?p=6488</guid>

					<description><![CDATA[【ユークリッドの互除法メニュー】> 【拡張ユークリッドの互除法】STEP: 2 3 つ以上の整数の最大公約数 (paizaランク C 相当) [難易度: 1661 ±30] ※リンク先へ移動するためには[paiza]へのログインが必要です。…]]></description>
										<content:encoded><![CDATA[
<p>【<a href="https://chokomon.com/paiza_mondai/24-euclidean_primer/">ユークリッドの互除法メニュー</a>】> <a rel="noreferrer noopener" href="https://paiza.jp/works/mondai/euclidean_primer/euclidean_primer__multi_gcd" target="_blank">【拡張ユークリッドの互除法】STEP: 2 3 つ以上の整数の最大公約数 (paizaランク C 相当)</a> [難易度: <strong>1661 ±30</strong>]



<p>※リンク先へ移動するためには[<a href="https://paiza.jp/works" target="_blank" rel="noreferrer noopener">paiza</a>]へのログインが必要です。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="300" src="https://chokomon.com/wp-content/uploads/2022/08/24-01-02-01.png" alt="" class="wp-image-6489"/></figure>



<div class="wp-block-dvaux-frame sc_frame_wrap inline"><div class="sc_frame_title inline" style="background-color:#ccc">問題文</div><div class="sc_frame" style="background-color:#fff;border-color:#ccc">
<p>2 つの整数 A , B の最大公約数（以後 gcd(A , B))を高速に求めるアルゴリズムとして、ユークリッドの互除法があります。<br>gcd の演算では、3 つの整数 a, b, c の最大公約数は、gcd(gcd(a,b),c) で求めることができます。<br>これは 4 つ以上の整数の場合も同様に、a , b , c , d , e , ... の最大公約数は<br>gcd(...gcd(gcd(gcd(gcd(a,b),c),d),e)...) で求めることができます。</p>



<p>例として、(9,27,33) の最大公約数は gcd(gcd(9,27),33) = gcd(9,33) = 3 といった具合に求めることができます。</p>



<p>与えられる整数の数 N と、整数 A_1, ..., A_N が与えられるので、 A_1, ..., A_N の最大公約数を求めてください。</p>



<p></p>



<p><strong>入力値（例）</strong><br>3<br>6<br>18<br>30</p>



<p><strong>出力値（例）</strong><br>6</p>
</div></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">解答例</h2>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php
    $n = trim(fgets(STDIN));
    for ($i = 0; $i &lt; $n; $i++) {
        $a[] = trim(fgets(STDIN));
    }
    
    $ans = $a[0];
    
    for ($i = 0; $i &lt; $n-1; $i++) {
        $ans = gcd($ans, $a[$i+1]);
    }
    
    printf("%d\n", $ans);
    
    function gcd($x, $y) {
        if($x == 0) return $y;
        if($y == 0) return $x;
        
        if ($x &gt; $y) {
            return gcd($x % $y, $y);
            
        } elseif ($y &gt; $x) {
            return gcd($x, $y % $x);
        }
        
        return -1;
    }
?&gt;</pre></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="160" src="https://chokomon.com/wp-content/uploads/2022/08/24-01-02-02.png" alt="" class="wp-image-6490"/></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://chokomon.com/24-euclidean_primer-01-02-00586/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【日付セット】曜日 (paizaランク B)-解答例-PHP編</title>
		<link>https://chokomon.com/34-dateset-01-06-00583/</link>
					<comments>https://chokomon.com/34-dateset-01-06-00583/#respond</comments>
		
		<dc:creator><![CDATA[東鳥子]]></dc:creator>
		<pubDate>Thu, 18 Aug 2022 16:54:25 +0000</pubDate>
				<category><![CDATA[paiza-問題集]]></category>
		<category><![CDATA[日付セット]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ランクB]]></category>
		<category><![CDATA[難易度-1600]]></category>
		<guid isPermaLink="false">https://chokomon.com/?p=6454</guid>

					<description><![CDATA[【日付セット】> 曜日 (paizaランク B 相当) [難易度: 1617 ±19] ※リンク先へ移動するためには[paiza]へのログインが必要です。 解答例]]></description>
										<content:encoded><![CDATA[
<p>【<a href="https://chokomon.com/paiza_mondai/paiza_set/34-dateset/">日付セット</a>】> <a href="https://paiza.jp/works/mondai/dateset/day_of_week" target="_blank" rel="noreferrer noopener">曜日 (paizaランク B 相当)</a> [難易度: <strong>1617 ±19</strong>]



<p>※リンク先へ移動するためには[<a href="https://paiza.jp/works" target="_blank" rel="noreferrer noopener">paiza</a>]へのログインが必要です。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="300" src="https://chokomon.com/wp-content/uploads/2022/08/34-01-06-01.png" alt="" class="wp-image-6455"/></figure>



<div class="wp-block-dvaux-frame sc_frame_wrap inline"><div class="sc_frame_title inline" style="background-color:#ccc">問題文</div><div class="sc_frame" style="background-color:#fff;border-color:#ccc">
<p>西暦y年m月d日が何曜日か表示してください。</p>



<p>ただし、各月の日数は以下のように決まることに注意してください。<br>・4, 6, 9, 11月は30日<br>・2月は閏年ならば29日、そうでなければ28日<br>・それ以外の月は31日</p>



<p>ただし、閏年は次のような年のことをいいます。<br>・西暦が4で割り切れる年は閏年<br>・ただし、100で割り切れる年は平年<br>・ただし、400で割り切れる年は閏年</p>



<p>ただし、1800年1月1日は水曜日です。</p>



<p></p>



<p><strong>入力値（例）</strong><br>2019 4 8</p>



<p><strong>出力値（例）</strong><br>月曜日</p>
</div></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">解答例</h2>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php
    list($y, $m, $d) = explode(" ", trim(fgets(STDIN)));

    function isleap($y) {
        return ($y % 4 == 0 &amp;&amp; $y % 100 != 0) || $y % 400 == 0;
    }

    $str_of_weekday = array("日", "月", "火", "水", "木", "金", "土");
    $weekday = 2;
    
    for ($i = 1800; $i &lt; $y; $i++) {
        $weekday += isleap($i) ? 366 : 365;
    }
    
    $days_of_month = array(0, 31,
        isleap($y) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
    
    for ($i = 1; $i &lt; $m; $i++) {
        $weekday += $days_of_month[$i];
    }
    
    $weekday += $d;
     
    printf("%s曜日\n", $str_of_weekday[$weekday % 7]);
 ?&gt;</pre></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="160" src="https://chokomon.com/wp-content/uploads/2022/08/34-01-06-02.png" alt="" class="wp-image-6456"/></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://chokomon.com/34-dateset-01-06-00583/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【素朴なソートアルゴリズムメニュー】挿入ソート (paizaランク B)-解答例-PHP編</title>
		<link>https://chokomon.com/21-sort_naive-01-01-00577/</link>
					<comments>https://chokomon.com/21-sort_naive-01-01-00577/#respond</comments>
		
		<dc:creator><![CDATA[東鳥子]]></dc:creator>
		<pubDate>Wed, 17 Aug 2022 17:08:51 +0000</pubDate>
				<category><![CDATA[paiza-問題集]]></category>
		<category><![CDATA[素朴なソートアルゴリズムメニュー]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ランクB]]></category>
		<category><![CDATA[難易度-1600]]></category>
		<guid isPermaLink="false">https://chokomon.com/?p=6402</guid>

					<description><![CDATA[【素朴なソートアルゴリズムメニュー】> FINAL問題 挿入ソート (paizaランク B 相当) [難易度: 1629 ±15] ※リンク先へ移動するためには[paiza]へのログインが必要です。 解答例]]></description>
										<content:encoded><![CDATA[
<p>【<a href="https://chokomon.com/paiza_mondai/21-sort_naive/">素朴なソートアルゴリズムメニュー</a>】> <a href="https://paiza.jp/works/mondai/sort_naive/sort_naive__insertion" target="_blank" rel="noreferrer noopener">FINAL問題 挿入ソート (paizaランク B 相当)</a> [難易度: <strong>1629 ±15</strong>]



<p>※リンク先へ移動するためには[<a href="https://paiza.jp/works" target="_blank" rel="noreferrer noopener">paiza</a>]へのログインが必要です。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="300" src="https://chokomon.com/wp-content/uploads/2022/08/21-01-01-01.png" alt="" class="wp-image-6403"/></figure>



<div class="wp-block-dvaux-frame sc_frame_wrap inline"><div class="sc_frame_title inline" style="background-color:#ccc">問題文</div><div class="sc_frame" style="background-color:#fff;border-color:#ccc">
<p>挿入ソートは、データ列を「整列済み」と「未整列」の2つに分け、<code>「未整列な配列」からデータを1つ取り出し、「整列済み配列」の適切な位置に挿入する</code>ことを繰り返す手法です。「未整列な配列」が空になるまで処理を繰り返すと、1つの「整列済み配列」が得られます。この手法は、手持ちのトランプを並び替える際などによく用いられる、自然で比較的直感的なものです。</p>



<p>では、要素数 n の数列を昇順にソートする挿入ソートのプログラムを作成してください。上の疑似コードに従って実装してください。アルゴリズムが正しく実装されていることを確認するために、各 i についてその処理が終わった時点での配列を出力してください。</p>



<p></p>



<p><strong>入力値（例）</strong><br>5<br>4 1 3 5 2</p>



<p><strong>出力値（例）</strong><br>1 4 3 5 2<br>1 3 4 5 2<br>1 3 4 5 2<br>1 2 3 4 5</p>
</div></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">解答例</h2>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php
    $n = trim(fgets(STDIN));
    $a = explode(" ", trim(fgets(STDIN)));
    
    for ($i = 1; $i &lt;= $n-1; $i++) {
        $x = $a[$i];
        $j = $i-1;
        
        while ($j &gt;= 0 and $a[$j] &gt; $x) {
            $a[$j+1] = $a[$j];
            $j--;
        }
        
        $a[$j+1] = $x;
        
        echo implode(" ", $a). "\n";
    }
?&gt;</pre></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="240" src="https://chokomon.com/wp-content/uploads/2022/08/21-01-01-02.png" alt="" class="wp-image-6404"/></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://chokomon.com/21-sort_naive-01-01-00577/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
