UNIQUE VISION Programming Contest 2024 Christmas (AtCoder Beginner Contest 385)

It is prohibited to use generative AI in ongoing AtCoder contests. Please refer to the following rules for more details. <a href="https://info.atcoder.jp/entry/llm-rules-en" target="_blank" rel="noopener" class="alert-link">AtCoder Rules against Generative AI - Version 20241206</a>

Can Participate: All Rated Range: - 1999 Penalty: 5 minutes

コンテスト情報

  • コンテスト時間: 100 分
  • レーティング更新対象: 0 - 1999

コンテスト概要

当コンテストは、 ユニークビジョン株式会社 が主催するプログラミングコンテストです。

▼ABC372参加者限定イベント ▼UV賞キャンペーン ▶AtCoderJobs


ユニークビジョン株式会社について

Belugaシリーズ

ユニークビジョンは、ソーシャルメディアを活用して企業の幅広いマーケティング施策でブランド体験をつくる、テクノロジーカンパニーです。
SNSマーケティングをより効果的に運営するための「Belugaシリーズ」を開発・運用しています。

    Beluga スタジオ
    • X(旧Twitter)・Facebook・Instagramのアカウントを一元管理できるツールとして、企業のSNS運用をサポートします。
    Beluga キャンペーン
    • X・LINE・Instagramにて自動返信やインスタントウィン(その場で抽選、当落の確認)キャンペーンを提供。スピーディで品質の高いキャンペーンを実現します。
    Beluga チェックイン
    • X・LINE上で配布されるユニークなQRコードを端末にかざすことで抽選が可能となる、SNSとリアルをつなげるサービスです。店舗へのチェックインやスタンプラリーなど幅広く展開可能なシステムで、大規模なイベントにも導入されました。

上記以外にも、様々なBelugaシリーズ製品を開発・運用しています。

AtCoderJobs にて、25年卒・26年卒・中途エンジニア職を募集中です!

導入事例

Belugaシリーズは2011年のリリース以来、大手企業を中心にのべ400社以上の企業に導入され、3000件以上の施策に利用していただいております。

以下、導入事例の一部です。その他の事例はこちらよりご覧ください!


技術スタック

主要開発言語

  • Rust

開発言語

  • TypeScript、SQL、Ruby、Python3

フレームワーク

  • Vue.js、axum、actix-web、Ruby on Rails、Node.js、Sinatra

データベース

  • PostgreSQL、DynamoDB

環境

  • nginx、Redis、Linux、Amazon Web Service、Google Cloud Platform、BigQuery

プロジェクト管理

  • Git

ユニークビジョンがAtCoderユーザーを必要としている理由

ユニークビジョンは日本で7社のX Marketing Partner、日本で3社のLINE Technology Partner(販促・OMO部門)です。2024年11月現在、1社単独でX社・LINE社とのパートナー契約を結んでいる会社は日本でユニークビジョンのみとなっております(グループでは博報堂グループ・電通グループ・ユニークビジョンのみ)。

お客様もナショナルクライアントを中心とする大手企業が多く、一つ一つの案件の難易度も高くなっていっています。大手企業が実施する案件はマーケティング予算も豊富で参加者数が増えるため、高負荷案件が多くなります。また、日本でトップレベルのブランドを預かって案件を進めるため、高い安全性は不可欠です。その中でも私たちは業界の最先端を走り続けているため、先駆者のいない初めて出会う仕様の連続で、常に新しい挑戦を続けています。

一方でエンジニアチームについては、少数の優秀なメンバーで構成されることが望ましいと考えています。ただ数だけが多くても成果はでないため、ユニークビジョンでも各プロジェクト数名〜多くても10名程度で構成しています。こうした高難易度案件を少数精鋭で数多く実施していくため、新しい技術へのキャッチアップを続け、技術的な選択肢を増やしていっています。

私たちは、技術でマーケティングを変えていきます。

このコンテスト開催を通じて技術が好きなAtCoderユーザーの皆様にユニークビジョンを知っていただき、是非とも一緒に技術で世の中を変えていく仲間となっていただけたらと思います。求人情報に関しては、 AtCoderJobs よりご確認ください。

なお、今年も定期的にコンテストを開催予定です!


ユニークビジョンで活かせるAtCoderの経験

ユニークビジョンのサービスはファミリーマート様スクウェア・エニックス様サントリー様など日本でもトップレベルの企業さまにX/LINE施策の一環で使っていただくことが多いため、ユニークビジョンの社名をご存知でなくても実際にユニークビジョンのシステムを使用したSNSキャンペーンを見かけたことがある方・参加されたことがある方は少なくないと思います。

SNSは情報の展開が早く影響力の高いメディアであるため、こうした大手企業がSNSで実施するキャンペーンは品質やスピードの面でシビアなものがほとんどで、高負荷・高難易度案件が多く存在しています。その中でも即時性を求められるケースや大規模データを扱う際などで、アルゴリズムの知見を活用していただけます。

ただ、直接的なアルゴリズムの能力のみを求められる業務はほぼありません。様々な技術領域を組み合わせて、全社を挙げてより良いサービスを作り上げていく中での1つの強みとしていただけたらと思います。特に競技プログラミングに取り組む中で培われた、決められた時間内でいかに問題を解決していくかという能力は幅広い業務に活かしていただけます。

他にも計算量やコーナーケースへの意識、問題解決のための選択肢の多さ、得意な言語を何かしらお持ちであることなど、競技プログラミングを通じて実業務で強みとなる要素は数多くあります。競技プログラミングでのご経験を活かし、ユニークビジョンで活躍していただけたら嬉しいです。

「AtCoder 競技プログラマー就職企業人気ランキング2023」 では学生競技プログラマー(レーティング800~1599)のランキングにて選出していただきましたが、実際にユニークビジョン社内にも 橙色コーダー1名黄色コーダー1名 青色コーダー6名 水色コーダー7名緑色コーダー2名 、その他数名の競技プログラマーが在籍しており、競技プログラマーの皆様とは高い親和性を感じております!


社内競技プログラミング部員のメッセージ

数年前まで社内に競技プログラマーはほぼいなかったのですが、年々増え続け、今では10名以上の競技プログラマーが在籍しています。有志で競技プログラミング部を作り、出場したいコンテストの仲間を募ったり、問題の振り返りをしたりという活動をしています!

競プロユーザーがいなかった時代もあったので、社員同士でチーム戦のコンテストに出たときはとても嬉しかったです。 実際の案件でも、再帰関数・トポロジカル順序など競技プログラミングの知識を活かしてスピード感のある実装を叶えられている業務もあります。

共通の話題があるので打ち解けるのも早いですし、AtCoderさんの本社が近いことも密かに嬉しいポイントです(笑)
気になった方は是非、UV Study(勉強会)などで遊びに来てください!


社内AtCoderユーザーからのメッセージ

ユニークビジョンでは担当業務に関わらずスピード感を持った開発と高いパフォーマンスや可用性が求められており、その実現のためにエンジニア主導で新しい技術の導入や開発体験を高めるための改善の検討を行うなど、改善意欲のあるエンジニアが力を発揮しやすい職場となっています。

また、主要サービスであるBelugaキャンペーンは柔軟で表現能力が高く未知のキャンペーンでも多くの場合追加開発なしで行うことが出来るようになっています。一方で、その柔軟さ故に案件実現の可否を判断するためには深い業務知識と問題の本質を見抜く能力、パフォーマンス的に問題が無いかを判断する計算量などの知識が必要で簡単ではありません。こういった業務は通常のWebアプリケーション開発にはない面白さがあり、競技プログラミングで培った知識や思考力を活かしていただけるのではないかと期待しています。

向上心の高いエンジニアが多く、競技プログラミングをはじめ様々な技術分野について社内で議論することが出来ます。少しでもご興味を持たれた方は是非、オフィスツアーや弊社主催の勉強会に参加してみてください!


イベント

2025年1月15日(水)、本コンテスト参加者のみを対象としたLT会+懇親会をユニークビジョン 新宿オフィス (現地参加のみ)にて開催予定です!
LT回は「競技プログラミング」をテーマとして、登壇参加・聴講参加ともに募集いたします。

LT会は1人5分枠にて、最大6名様のご登壇を想定しております!
お話いただく内容は、今日から使える競プロTipsや競プロ用実行環境構築の話、お気に入りのアルゴリズムなど、競技プログラミングに関連すればなんでもOKです。

こちらの参加を希望される方は、参加登録情報よりご回答ください。コンテスト終了後、メールにて詳細をご案内いたします。
是非お気軽にご参加ください!
※希望者多数の場合には抽選とさせていただきます


配点

問題 点数
A 100
B 200
C 350
D 425
E 450
F 525
G 600

賞品

条件を満たす方へ抽選で25名にAmazonギフトカード10,000円分を進呈します。未成年の参加者は、賞品の受け取りについて保護者の同意を得てください。

賞品に関する注意事項

  • 少なくとも1問以上の正解が必要です。
  • 賞品は日本国内に在住の方のみに、Amazonギフトカードにてお送りいたします。
  • 受賞対象者になるには、参加登録情報の全ての必須項目を記入していただく必要があります。未記入の必須項目がある場合は受賞対象外とさせていただきます。
  • 賞品の受け取り方法などについては、コンテスト終了後に受賞された方へメールにてご連絡させていただきます。運営事務局が提示させていただく期限内に必要事項をご返信いただけない場合はお送りできかねますので、ご注意ください。
  • 何らかの理由により賞品配送が完了しなかった場合、ご登録いただいたメールアドレスにご連絡させて頂きます。2週間以内にご返信がない場合は賞品対象外となります。

ユニークビジョン賞

本コンテストでは上記賞品に加え、ユニークビジョンのサービスであるBelugaキャンペーン for 𝕏の「カスタムストーリー」機能を用いてユニークビジョン賞を決定します!
2025年1月10日(金)~1月16日(木)の期間中、ユニークビジョン技術𝕏アカウント(@uv_technology)からキャンペーンに参加していただいた方の中から、
合計100名に500円分のAmazonギフトカードを贈呈します。

キャンペーン対象となる投稿は、2025年1月10日(金)11:00に@uv_technologyよりポストいたします。
是非、アカウントをフォローしてお待ちください!

【キャンペーン参加方法】

  1. ユニークビジョン技術𝕏アカウント(@uv_technology)をフォロー
  2. キャンペーンポストからおみくじに挑戦!
  3. 結果をポストで応募完了
  4. キャンペーン終了後一週間以内に、当選者のみにDMでご連絡(当選:100名)

【キャンペーン開催期間】

2025年1月10日(金)11:00~1月16日(木)23:59

【ユニークビジョン賞キャンペーンにおける注意事項】

■対象者

  • 本キャンペーンのご参加前にこちらの応募規約をお読みいただき、同意の上でご参加ください。本キャンペーンに参加された場合、本規約にご同意いただいたものとみなします。
  • 15歳未満のお客様は事前に保護者のご同意を得るか、又は保護者と一緒に本規約をお読みの上でご参加ください。15歳未満のお客様からのご参加は、すべて保護者のご同意を得たものとみなします。
  • 本コンテストにご参加いただく際の参加登録情報にユーザー名を入力していただいた𝕏アカウントが、本キャンペーンの参加対象となります。
  • 本コンテストの参加登録時に𝕏ユーザー名を入力されていない方、誤った入力をされている方、情報提供同意のチェックを外されている方、本コンテスト参加時のレーティングが0の方は、キャンペーン参加対象外となります。参加対象外のアカウントで本キャンペーンに参加された場合には、一切のリプライ及びDMの送信を行っておりませんのでご了承ください。
    • 過去のキャンペーンでは、情報提供同意のチェックや𝕏ユーザー名入力の間違いから、誤って参加対象外となっているケースもございます。コンテスト終了後の変更は反映できかねますため、キャンペーン参加をご希望の方はコンテスト開始までに参加登録情報をご確認ください。
  • 𝕏アカウントを非公開(鍵付き)にしている場合、ポストを確認できないため本キャンペーンにはご参加いただけません。
  • 𝕏アカウントが、新規作成したばかり、利用頻度が少ない、𝕏ルールに反している等と𝕏 APIが判断した場合には、リプライをお送りできない場合がございます。

■参加

  • 結果のポストに際し、第三者のプライバシーや肖像に対する権利、著作権、その他一切権利を侵害するもの、第三者を誹謗中傷するもの、政治活動・宗教活動を伴うもの、犯罪に結びつくもの、𝕏の定める規約又はその他法令もしくは公序良俗に反するもの、閲覧者が不快になるものは投稿しないでください。
  • 前項への違反もしくはその可能性があることが判明した場合、又はその他弊社において対象投稿の内容が不適切と判断した場合、応募又は当選を無効とする場合があります。
  • 問題に参加される際、ページを閉じる、もしくはリロードを行うと、最初からやり直しとなります。
  • 広告をブロックするアプリやサービスなどをご利用の場合には問題が正常にお楽しみいただけない可能性があるため、結果のポストが完了するまで該当機能の停止・解除をお願い致します。
  • iOSの「低電力モード」では正常に動作しないため、必ず解除の上でご参加ください。
  • スマートフォンの低速モードで参加した場合、遷移先の動画の表示に時間がかかる場合があります。

■当選

  • 当選は1アカウントにつき期間中で1回までとなります。
  • 結果の違いによる当選確率の変動はありません。
  • 当選の権利は当選者ご本人のみに帰属します。当選者の権利を譲渡・換金・変更することはできません。
  • 抽選結果につきましては、キャンペーン終了後一週間以内に、当選者のみにダイレクトメッセージにて当選のご連絡と賞品に関するご案内をさせていただきます。
  • 当選連絡時までに対象投稿を削除された場合は、応募を無効とさせていただきます。
  • ユニークビジョン技術𝕏アカウントをフォローされていない場合、DMを送信できないため、他の参加条件を満たしていた場合にも自動的に落選となります。キャンペーンにご参加いただく際には、当選のご連絡までユニークビジョン技術𝕏アカウントのフォローは外さないようにお願いいたします。
  • 都合により当選通知のご連絡が遅れる場合がございます。あらかじめご了承ください。

■その他

  • 𝕏ユーザー名から他のデータを抽出することはありません。
  • 無効となる当選が発生した場合など、状況によっては当選者数が記載の人数に達しない可能性がございます。
  • 本キャンペーンについてのご確認や賞品送付等に関して、ユニークビジョン株式会社からご連絡をさせていただく場合がございます。
  • 本キャンペーンの参加状況および抽選結果に関するお問い合わせに関してはお答え致しかねますので、あらかじめご了承ください。
  • 本キャンペーンは、スマートフォン/PCからご参加いただけます。
  • 本キャンペーンへのご参加は、日本国内に在住の方に限らせていただきます。
  • インターネットの通信料/接続料はお客様の負担となります。通信の際の接続トラブルについては責任を負いかねます。
  • 𝕏のバージョンおよびご利用端末のOSのバージョンが最新の状態でない場合、正常にご参加いただけない可能性がございます。
  • 本キャンペーンは、𝕏 APIや仕様の変動、その他やむを得ない事情により予告なく中止または内容・期間が変更になる場合もございますので、あらかじめご了承ください。
  • キャンペーン主催:ユニークビジョン株式会社
  • AmazonはAmazon.com, Inc.またはその関連会社の商標です。

本キャンペーン参加者の個人情報の取り扱いについては、下記ページをご覧ください。
個人情報保護方針:https://www.uniquevision.co.jp/privacypolicy


注意事項

  • 大学生および大学院生の方には、弊社の新卒採用イベント等のご案内をさせていただくことがございます。
  • 社会人の方には、弊社のキャリア採用イベント等のご案内をさせていただくことがございます。

ルール

  1. コンテスト中に問題に正解すると点数を獲得できます。
  2. 順位は総合得点で決定します。
  3. 同点の場合は提出時間の早い人が上の順位になります。
  4. 誤答を提出するたびにペナルティが加算されます。このコンテストのペナルティは5分です。詳細は画面下部の「ルール」をご覧ください。

このコンテストは full-feedback 形式のコンテストです。コンテスト中に提出された結果だけで順位が決定します。

便利情報

Contest Information

  • Duration: 100 minutes
  • Rated Range: 0 - 1999

Point Values

Task Score
A 100
B 200
C 350
D 425
E 450
F 525
G 600

Contest Rules

This contest is full-feedback (solutions are judged during the contest).
When you solve a problem, you get a score assigned to it. Competitors are ranked first by total scores, then by penalties. The penalties are computed as (the time you spend to get your current score) + (5 minutes) * (the number of incorrect attempts).

Useful Links