paiza 10万登録ありがとうスペシャルWキャンペーン
paiza > paiza10万人キャンペーン

プログラミング問題とネタミッション
知恵と欲望のWキャンペーン!

本キャンペーンへの、皆様のご参加お待ちしております!

日頃のご愛顧に感謝して、10万円分のプレゼントがもらえる2つのキャンペーンを実施!

Share!

【キャンペーン1】腕に覚えありの方は…

プログラミング問題にチャレンジして、10万円分のAmazonギフト券をGET!

プログラミング問題にチャレンジ!

【キャンペーン2】欲望に覚えありの方は…

夢のあるアイディアや楽しいネタをツイートして、10万円相当の賞品をGET!

「もし10万円あったら…」をツイート!

【キャンペーン1】プログラミング問題にチャレンジ!

100点で正解の方の中から6名様、100点未満の正解者の中から3名様に
10万円分のAmazonギフト券を差し上げます!

キャンペーン応募方法

STEP1
コードを書く
STEP2
動作確認する
STEP3
提出
STEP4
その場で採点結果発表!
STEP5
正解画面から採点結果をツイート!
@paiza_officialをフォローしたら…
問題にチャレンジ!

【キャンペーン2】「もし10万円あったら…」をツイート!

投稿ルール

「もし10万円あったら、○○が欲しい」がお題です。
「欲しいもの(※10万円以内)」と「なぜそれが欲しいのか」を書いてツイートしてください!
最優秀賞に選ばれた投稿をしてくれた方には、 ツイートに書かれていた「欲しいもの」をプレゼント!

  • ・10万円(消費税込)以内
  • ・日本国内で購入可能
  • ・公序良俗に反するものではない

キャンペーン応募方法

paizaの公式アカウント@paiza_officialをフォローしてください

「10万円でほしいものをツイート!」ボタンを押して、「もし10万円あったら、○○が欲しい」と思うものとその理由をツイートしてください。

  • ※期間中、何度でも投稿(ご応募)いただけます。
  • ※ツイートにはハッシュタグとこのページのURLを必ず入れてください。
    ハッシュタグとURLがないツイートはプレゼント抽選の際に無効となります。
@paiza_officialをフォローしたら…
10万円でほしいものをツイート!

スケジュール、プレゼント

スケジュール

応募期間
4月20日(木)~5月21日(日)
審査期間
5月22日(月)~5月23日(月)
結果発表
2017年5月下旬

問題チャレンジのプレゼント

プログラミング問題に正解のうえ採点画面からTwitterで挑戦結果をシェアしてくれた方の中から、抽選でAmazonギフト券10万円分を10名様にプレゼント!
paiza公式アカウント(@paiza_official)をフォローのうえご応募ください

twitterで10万円使い道ツイートのプレゼント

Twitterで10万円の使い道をハッシュタグをつけてツイートいただいた方の中からpaizaが厳選した1名様に、ツイート頂いた10万円の使い道をプレゼント!
paiza公式アカウント(@paiza_official)をフォローのうえご応募ください

イベント規約

本キャンペーンでは、paiza本サイトへの会員登録をしないで公開問題を受験していただくことができます。ただし、ご利用にあたっては、以下の注意事項にご了承いただくことが前提となります。

注意事項

  1. paiza本サイトへの会員登録は必要ありませんが、本キャンペーン専用のアカウント(ニックネームとメールアドレス)のご登録が必要になります。ただし当社は、いただいたメールアドレスを本キャンペーン関連のご連絡以外には使用しないものとします。
  2. 既存会員の方も本キャンペーンでの受験にご参加いただけますが、ご自身のスキルランクには影響しませんので、予めご了承ください。
  3. ご提出いただいたコードの著作権は受験者にその権利が帰属しますが、当社はそのコードを当社のサイトやSNS上で公開したりなど、自由に利用できるものとします。詳しくは 当社利用規約 第5条2項に準じるものとします。
  4. ご提出いただいたコードは当社システム上において完全に保存されない場合がありますので、受験者ご自身において必要に応じてバックアップを取るなど、適切なご対応をお願いいたします。

<プレゼント応募方法>

  1. 本キャンペーンの応募にはツイッターアカウントが必要です。
  2. 非公開アカウントからの投票(以下、「応募」とします)はできません。
  3. 応募ツイートを投稿の際は、プログラミング問題採点結果画面のシェアボタンより、ハッシュタグ・指定URLを含めた形式でご投稿下さい。また、同時に当社公式アカウント「@paiza_official」をフォローしてください。
  4. 応募者の投稿は、ツイッターアカウントとともに当社サイト、ブログ及びSNS等で公開させていただく場合がございますのでご了承ください。
  5. 応募後、結果発表までにフォローを解除された場合は、応募対象外とさせていただきますのでご注意ください。

<審査・当選発表>

  1. 厳正なる審査の上、当社にて当選者を決定し、当該当選者に対してのみ、当社よりダイレクトメッセージ(以下「DM」とします)の機能を利用してご連絡いたします。
  2. DM送信後、指定された期限までにご返信をいただけない場合は、当選を無効とさせていただく場合がございます。

<注意事項>

  1. 同一人物の複数アカウントを使用した応募と当社が判断した場合には、抽選対象から外させていただく場合がございますのでご注意ください。
  2. 第三者の投稿の引用リツイートは、抽選対象にはなりませんのでご注意ください。
  3. 当選者は、当選の権利を第三者へ譲渡することや換金することは出来ません。
  4. 投稿の内容に、第三者のプライバシーや著作権等を侵害する内容、第三者を誹謗中傷摺る内容、その他法令違反や犯罪行為に該当するまたはそのおそれのある内容を含むことのないようご注意ください。なお、投稿により発生したトラブルにつきましては、当社は一切の責任を負いません。
  5. ツイッターおよび関連アプリケーションの動作環境、利用環境等により生じたトラブルにつきましても当社は一切の責任を負いません。

<著作権>

  1. ツイッターで応募の際に投稿いただいた内容に係る著作権は、応募者にその権利が帰属しますが、当社は投稿内容を当社サイト、ブログ及びSNS上での公開等、自由に利用できるものとします。なお、応募者は当社(当社契約先等を含みます)に対し、著作者人格権を行使しないものとします。

<個人情報>

  1. 当社が取得した個人情報は、厳重に管理し、当社からの賞品発送やコンテンツご案内以外の目的で使用することがございません。

問題詳細

あなたは商品を詰める箱の設計をしています。 1辺の長さ 1 の正方形の商品を詰める箱の設計を任されました。
作る箱の数は M 個で、それぞれの箱に詰めたい商品の個数 s_i (i は 1 から M) が与えられます。
材料は N 種類あり、それぞれの材料の長さ p_i (i は 1 から N) が与えられます。
材料から縦横2種類選び、s_i 個の商品を全て積める事が出来る長方形の箱を作ります。
空いている箇所の最も少ない箱の空きの個数を計算するプログラムを作成してください。
この時、商品の高さ、材料の厚みは考慮しないものと、縦と横で同一の種類の材料を選び箱を作ることも可能とします。 材料の在庫は無限にあり、同じ材料を重複して何度も使用できます。
図は入力例1 の s = 16 の例になります。

条件

PHP,Java,Ruby,Python,Perl,C#など(C,C++以外の言語)は全テストケースで以下の条件を満たします。

1 ≦ M ≦ 1000 ※作る箱の数
1 ≦ N ≦ 1000 ※材料の種類数
1 ≦ s_i ≦ 1000000 (1 ≦ i ≦ M) ※箱に詰めたい商品の個数
1 ≦ p_i ≦ 1000000 (1 ≦ i ≦ N) ※箱を作る材料の長さ

C,C++は全テストケースで以下の条件を満たします。

1 ≦ M ≦ 1000 ※作る箱の数
1 ≦ N ≦ 3000 ※材料の種類数
1 ≦ s_i ≦ 1000000 (1 ≦ i ≦ M) ※箱に詰めたい商品の個数
1 ≦ p_i ≦ 1000000 (1 ≦ i ≦ N) ※箱を作る材料の長さ

入力される値

入力は以下のフォーマットで与えられます。

M N // M は作る箱の数、N は材料の種類数
s_1 // 1個目の箱に詰めたい商品の個数
s_2 // 2個目の箱に詰めたい商品の個数
...
s_M // M 個目の箱に詰めたい商品の個数
p_1 // 1種類目の材料の長さ
p_2 // 2種類目の材料の長さ
...
p_N // N 種類目の材料の長さ

※ 上記[ // ]以降はコメントアウトの意。

M は作る箱の数を表します。 s_i (i は 1からM) は箱に詰めたい商品の個数を表します。
N は作る箱の材料の種類数を表し、 p_i (i は 1からN) は材料の長さを表します。
文字列は標準入力から渡されます。 標準入力からの値取得方法はこちらをご確認ください

期待する出力

M 個のそれぞれの箱について最も空いている箇所の少ない箱を作成し商品を詰めた時、空いている箇所が商品何個分かを改行区切りで出力してください。
最後は改行し、余計な文字、空行を含んではいけません。

入力例1

2 4
16
9
5
3
6
7

出力例1

2
0

入力例2

4 10
32
110
23
11
10
20
30
110
100
99
10
39
10
1

出力例2

7
0
7
9

解答欄

上記の問題の解答コードを下記入力欄に記入し提出してください。
使用できる言語はJava,PHP,Ruby,Perl,Python,C,C#,C++,JavaScript,Scala,など様々な言語が使用可能です。

標準入力の値の取得方法は下記ページのサンプルコードを参照ください。

値取得・出力のサンプルコード
各言語のバージョン、環境情報(paiza本サイトとLimitTimeが異なります)

解答欄

ニックネーム(必須)
英数半角文字のみ。模範解答コード掲載時、プレゼント当選者発表時にサイトに掲載する事がございます。
メールアドレス(必須)

ランキング

主要言語別ランキングです。

Javaランキング
ニックネーム 平均実行時間 提出コードバイト数
Place uwi 0.07 Sec 898 Byte
Place _ 0.07 Sec 1145 Byte
Place dolpen 0.07 Sec 2223 Byte
Place nagise 0.07 Sec 2361 Byte
Place amaya 0.08 Sec 693 Byte
PHPランキング
ニックネーム 平均実行時間 提出コードバイト数
Place mizzsig 0.03 Sec 377 Byte
Place okaduki 0.03 Sec 543 Byte
Place purple_jwl 0.13 Sec 1031 Byte
Place ciel 0.14 Sec 203 Byte
Place hi 0.14 Sec 805 Byte
Rubyランキング
ニックネーム 平均実行時間 提出コードバイト数
Place letranger 0.09 Sec 133 Byte
Place akinomyoga 0.1 Sec 140 Byte
Place ciel 0.1 Sec 160 Byte
Place kurgm 0.1 Sec 214 Byte
Place angel_p_57 0.1 Sec 244 Byte
Python2ランキング
ニックネーム 平均実行時間 提出コードバイト数
Place ebicochineal 0.02 Sec 224 Byte
Place rpy3cpp 0.02 Sec 309 Byte
Place uwi 0.02 Sec 493 Byte
Place poyon 0.03 Sec 549 Byte
Place kurgm 0.04 Sec 312 Byte
Perlランキング
ニックネーム 平均実行時間 提出コードバイト数
Place letranger 0.01 Sec 171 Byte
Place neur0n 0.01 Sec 17860 Byte
Place okura3 0.02 Sec 1121 Byte
Place ciel 0.1 Sec 175 Byte
Place climpet 0.3 Sec 427 Byte
Cランキング
ニックネーム 平均実行時間 提出コードバイト数
Place akinomyoga 0.01 Sec 182 Byte
Place kuwa 0.01 Sec 195 Byte
Place ikaneko 0.01 Sec 230 Byte
Place myanta 0.01 Sec 250 Byte
Place kotatsugame 0.01 Sec 262 Byte
C++ランキング
ニックネーム 平均実行時間 提出コードバイト数
Place akinomyoga 0.01 Sec 202 Byte
Place kuwa 0.01 Sec 203 Byte
Place templepmet 0.01 Sec 253 Byte
Place enum_hack 0.01 Sec 259 Byte
Place lyoz 0.01 Sec 263 Byte
C#ランキング
ニックネーム 平均実行時間 提出コードバイト数
Place baku_dreameater 0.02 Sec 373 Byte
Place neur0n 0.02 Sec 396 Byte
Place dorifru 0.02 Sec 398 Byte
Place enum_hack 0.02 Sec 400 Byte
Place camypaper 0.02 Sec 499 Byte
JavaScriptランキング
ニックネーム 平均実行時間 提出コードバイト数
Place n4o847 0.06 Sec 345 Byte
Place yama 0.08 Sec 2178 Byte
Place reosablo 0.1 Sec 327 Byte
Place iqeiq 0.11 Sec 459 Byte
Place ciel 0.17 Sec 306 Byte
Scalaランキング
ニックネーム 平均実行時間 提出コードバイト数
Place amaya 0.72 Sec 585 Byte
Place letranger 0.87 Sec 943 Byte
Place kzyKT 0.89 Sec 687 Byte
Place ciel 0.9 Sec 523 Byte
Place sueka 0.99 Sec 335 Byte
Python3ランキング
ニックネーム 平均実行時間 提出コードバイト数
Place ebicochineal 0.03 Sec 221 Byte
Place uwi 0.03 Sec 343 Byte
Place rpy3cpp 0.03 Sec 511 Byte
Place chakku 0.04 Sec 367 Byte
Place hinota 0.04 Sec 415 Byte

(2017/04/24Sum Update

Facebook

Twitter

paizaは、IT/Webエンジニア特化のコーディング転職サイトです

コーディングテストの対応言語

想定回答時間は20分!対応言語はJava, C, C++, C#, PHP, Ruby, Python, Perl、JavaScript。

書類選考なし1次面接、会社見学

スコアに応じて書類選考パス/カジュアル面談が可能な求人企業がわかります。応募するまで求人企業には結果は通知されません。

プログラマ目線で取材した求人票

エンジニア、プログラマの仕事選びに必要な、開発手法、開発環境、利用ツール、評価方法、上司プロフィールを徹底取材。

コーディングテストの対応言語

各問題につき10個のテストケースを入力。負荷試験を実施し、実行速度を測定。また回答速度の観点からもスコアリング。

書類選考なし1次面接、会社見学

基本構文をベースにしたデータ入出力処理問題から探索ロジックやツリー構造などのアルゴリズムを使って計算量を効率化させる問題が揃っています。

プログラマ目線で取材した求人票

同じ問題への再チャレンジが可能となっており(※ランクアップはできません)練習をして新着問題へ挑戦できます。

paizaに求人掲載頂いている企業様例

ページの先頭へ戻る