freee Programming Contest 2022(AtCoder Beginner Contest 264)

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

コンテスト情報

  • コンテスト時間: 100 分
  • レーティング更新対象: 0 - 1999
freee 株式会社 ロゴ

コンテスト概要

freee株式会社が主催するオンラインプログラミングコンテストです。

freeeは「スモールビジネスを、世界の主役に。」 をミッションに掲げ、「だれもが自由に経営できる統合型経営プラットフォーム」の構築を目指してサービスの開発及び提供をしています。大胆に、スピード感をもってアイデアを具現化することができるスモールビジネスは、様々なイノベーションを生むと同時に、大企業を刺激して世の中全体に新たなムーブメントを起こすことができる存在だと考えています。

freeeがAtCoderユーザーを必要としている理由

freeeはクラウド型ERPとしてお客様の会計・人事を始めとしたビジネス上のデータを預かり、業務を効率化するための機能を提供しています。

日々の取引や勤怠などのレコードは企業が成長するにつれて徐々に大量のデータになり、これらをリアルタイムに集計して情報を提示するには計算効率を意識する必要があります。税額や給料の計算は年々変化する法律の複雑な仕様をロジックに変換し、正確にコードに落とし込む能力も要求されます。また、個々のドメイン領域の複雑さを他に影響させないようマイクロサービスに分割し疎な結合にしているため、サービス間で整合性を保ちながら効率的にデータを連携することが求められます。

これらの課題に対して、AtCoderユーザーの方々が持つ「問題に対して適切なデータ構造とアルゴリズムを選定する能力」や「エッジケースを考慮しながら素早く実装を行う能力」は大いに役立つと考えております。今回我々は、そんな力を持ったAtCoderユーザーの方々と出会い、freeeに興味を持ってもらうためにAtCoderでプログラミングコンテストを開催します。

AtCoderで培われた能力を活かせるfreeeの業務内容

AtCoderで培われる実装力や、データ構造とアルゴリズムの知見、計算量を見積もる力を活かせるfreeeの業務内容の一例を記載します。

  • 共通基盤の開発では、会社の組織階層のような木構造を扱うマイクロサービスの開発も行っています。
  • クレジットカード明細の時系列変化の追跡やレシート画像から取引内容を推測するなど、実世界のデータを構造化するのにアルゴリズムを活用しています。
  • 各種マイクロサービスでは、他の社内サービス間でのデータの整合性を保つように分散システム設計を行っています。
  • 基盤サービスの開発では、僅かなオーバーヘッドで認証やフェイルオーバーなどの共通機能を提供するライブラリ実装を行っています。
  • DBREでは、オープンソースのコードや論文から各データベースの内部実装を理解し、最適な利用方法の判断と安定した運用を全社に展開しています。

ご興味を持たれた方は下記リンクからご応募ください。

freeeの社風についてもっと知りたい方は下記をご覧ください。

freeeの競技プログラミング部について

2022年1月にオフカツとして競技プログラミング部が立ち上がりました。週末のAtCoderのコンテストに対する感想戦やショートコンペ(1問だけのバーチャルコンテスト)を中心に週2回活動を行っています。詳細は部活動の紹介記事でご確認ください。

最近は部員が作問した社内プログラミングコンテストを開催する等、活動の幅を広げています。

claw88 からのメッセージ

2022年に新卒入社したclaw88です。freeeのアプリケーションは巨大で、日々進化しています。個々のコードを理解するだけでなく、サービス全体を理解して方針を決める必要があり、チャレンジングでエキサイティングに感じています。

freeeの開発文化に「何でもやれる、何でもやる」という言葉があるように、やったことがないことにどんどん挑戦する機会があります。freeeでは今何ができるかではなく、貪欲に吸収し日々新たな課題を解決することを求められるでしょう。

仕事も競プロも簡単な問題よりも難しい問題の方が面白い。是非freeeで挑戦しましょう。

terashi からのメッセージ

私はサービス基盤というチームで社内の各種サービスの共通ライブラリや基盤コンポーネントを作っています。これらはプロダクトのあらゆる操作で使われるものが多いので、開発ではパフォーマンスを気にしてミリ秒単位でオーバーヘッドを下げたり、網羅的にエッジケースをテストして事前に考慮漏れを無くしたりするところで、競技プログラミングの経験が活きています。

今freeeはより早くミッションを実現するために開発規模を拡大しようとしており、プロダクトがさらに大きくなってもスケールするソフトウェア開発基盤の整備を進めているフェーズです。自分でいちから基盤を設計実装するなど、プログラミング・アルゴリズムなどのコアなソフトウェア技術を活かす機会が多くありますので、技術好きなAtCoderユーザーのみなさんにも興味を持ってもらえると嬉しいです。

配点

問題 点数
A 100
B 200
C 300
D 400
E 500
F 500
G 600
Ex 600

賞品

順位(全体の順位ではなく、条件を満たした方から構成される順位)により、Amazonギフト券を用意しております。

未成年の参加者は、賞品の受け取りについて保護者からの同意を得てください。

総合順位対象者

  • 日本在住であること
  • freeeグループの役職員ではないこと
総合順位 金額
1位 80,000円
2位 50,000円
3位 30,000円

学生順位対象者

総合順位の対象者であり、かつ、以下の条件をみたすこと

  • 大学生・大学院生・短大生・専門学校生・高等専門学校生(高専生)・高校生・中学生のいずれかであること
学生順位 金額
1位 20,000円
2位 15,000円
3位 10,000円
4位 8,000円
5位 7,000円
6位 5,000円
7位 5,000円
8位 5,000円
9位 5,000円
10位 5,000円
20位 5,000円
30位 5,000円
40位 5,000円
50位 5,000円
60位 5,000円
70位 5,000円
80位 5,000円
90位 5,000円
100位 5,000円

※受賞対象がその他の賞と重複した場合、その双方の賞品をお送りさせて頂きます。

注意事項

  • ご登録いただいたメールアドレス宛に、弊社からイベント等をご案内させて頂くことがございます。
  • 賞品対象者の方には参加時にご登録いただいたメールアドレスに詳細をご連絡させて頂きます。なお必要事項をご提供頂けない場合は賞品対象外とさせて頂きます。
  • 賞品は日本国内に在住の方のみに、Amazonギフト券をお送りいたします。
  • 日本国内に居住されていない方、freeeグループの社員は賞品対象外となります。
  • 賞品の受け取り方法などについては、コンテスト終了後に受賞された方へメールにてご連絡させていただきます。運営事務局が提示させていただく期限内に必要事項をご返信いただけない場合は賞品をお送りできかねますので、ご注意ください。
  • 賞品対象者が対象外となった場合には、賞品対象者に次ぐ順位以下の方を、順番に繰り上げて贈呈します。
  • 該当順位が複数名いる場合は抽選とさせて頂きます。

ルール

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

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

便利情報

Contest Information

  • Duration: 100 minutes
  • Rated Range: 0 - 1999
freee, Inc. logo

Contest Summary

This is an online programming contest sponsored by freee, Inc.

freee's mission is to 「Empower Small Businesses to Take Center Stage」 and we develop and provide services with the aim of building an "integrated management platform that allows anyone to run their business freely. We believe that small businesses, which can materialize their ideas boldly and with a sense of speed, can create various innovations and at the same time, stimulate large companies to create a new movement in the world as a whole.

Reason why freee needs AtCoder users

freee is a cloud-based ERP that stores customer's Accounting, Human Resources, and other business data and provides functions to improve business efficiency.

Records of daily transactions, time and attendance, etc. gradually become large volumes of data as the company grows, and the calculation efficiency must be considered in order to tabulate and present this information in real time. Tax and salary calculations also require the ability to translate complex specifications of laws that change from year to year into logic and accurately put them into code. In addition, since the complexity of each domain area is divided into microservices and loosely coupled so as not to affect others, data must be efficiently federated while maintaining consistency among the services.

We believe that AtCoder users' 「ability to select the appropriate data structure and algorithm for the problem」 and 「ability to implement quickly while considering edge cases」 will be of great help in these challenges. This time we are organizing a programming contest on AtCoder to meet AtCoder users who have such talent and to get them interested in freee.

freee's business content that can utilize the abilities cultivated at AtCoder

This section describes an example of freee's business content that can utilize the implementation skills cultivated with AtCoder, knowledge of data structures and algorithms, and ability to estimate the amount of calculation.

  • In the development of the common infrastructure, we are also developing microservices that handle tree structures such as the organizational hierarchy of a company.
  • Algorithms are used to structure real-world data, such as tracking changes in credit card statements over time or inferring transaction details from receipt images.
  • Various microservices have distributed system designs to maintain data integrity among other internal services.
  • In the development of infrastructure services, we are implementing libraries that provide common functions such as authentication and failover with only a small overhead.
  • At DBRE, we understand the internal implementation of each database from open source code and papers to determine optimal usage and deploy stable operations throughout the company.

If you are interested, please apply through the link below.

To learn more about freee's corporate culture, please see below.

About freee's competitive programming club

freee launched the Competitive Programming Club in January 2022 as a club activity, and currently meets twice a week, mainly to discuss impressions and solutions to AtCoder contests held on Saturdays and Sundays. For more information, please see the article (Written in Japanese) about the club's activities. In recent activities other than impression battles, we are expanding the range of activities every day, such as holding an in-house programming contest in which the members were in charge of asking questions.

Read about holding an in-house programming contest here. (Written in Japanese)

Point Values

Task Score
A 100
B 200
C 300
D 400
E 500
F 500
G 600
Ex 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