K
S
·
·
·

【検証】2026年のClaude Proは競プロ世界1位に立てるのか?

2026年2月25日

image.png

「もはや人間がコードを書く時代は終わった」

そんな言葉が現実味を帯びて聞こえる2026年。AIの進化はとどまるところを知りません。中でも、エンジニアから絶大な信頼を寄せられているAnthropic社のClaude 4.6 Sonnetは、その「思考するプロセス(Extended Thinking)」の深化により、もはや単なるチャットツールではなく、熟練のプログラマーさえ凌駕する「知能」へと変貌を遂げました。

では、プログラミング能力の究極の指標とも言える「競技プログラミング(競プロ)」の世界ではどうでしょうか?

特に日本が誇る世界最大級のプラットフォームAtCoderにおいて、Claude Proはどこまで通用するのか。かつては「AIには数学的考察や非典型問題は解けない」と言われてきましたが、今やその常識は過去のものです。

・ABC(AtCoder Beginner Contest)は全完が当たり前?

・ARCやAGCといった超難問の「壁」を突破できるのか?

本記事では、2026年最新のClaude 4.6 Sonnetの実力を、実際の過去問への対応力や、最新のベンチマーク、そして人間との決定的な「差」という観点から徹底検証します!


本検証における重要な注意書き

検証結果を詳しく見る前に、競技プログラミングにおけるAI利用のルールと、本記事のスタンスについて明確にしておきます。

  1. AtCoderにおけるAI利用規約について 現在、AtCoderの公式コンテスト(リアルタイム開催)において、生成AI(Claude, GPT, Gemini等)を使用して解答コードを生成し、提出することは固く禁止されています。

    これは競技の公平性を保つための基本ルールであり、違反した場合はアカウント停止などの厳しい措置の対象となります。

  2. 本記事の検証手法 本記事で行う検証は、以下のガイドラインに沿って実施しています。

過去問のみを使用: すでに終了したコンテストの過去問(アーカイブ)を対象としています。

非公式環境での実行: リアルタイムのコンテストには一切関与せず、ローカル環境または過去問の練習用ページでの挙動を確認したものです。

教育・研究目的: あくまで「AIの論理的思考能力の限界」を探るための技術的な検証を目的としています。

皆さんがClaude Proなどの強力なツールを使用する際も、必ず各プラットフォームの最新の規約を確認し、正しく、楽しく競プロに取り組むようにしましょう。


検証ルール

今回の検証では、Claude Pro(Claude 4.6 Sonnet)の実力を正確に測るため、実際のコンテスト環境に即した厳しい制限を設けています。

  1. 試行回数の制限(ペナルティ方式) 実際のコンテストでは誤答(WA)を出すとペナルティが加算されます。本検証でもそれに準じ、以下のルールを適用します。

チャンスは3回まで: 1つの問題に対し、提出チャンスは最大3回とします。

フィードバックの制限: AIが間違ったコードを出力した場合、人間側からは「間違っています(WA/TLE/RE等)」という事実のみを伝えます。「ここを直して」「計算量を落として」といった具体的なヒントや解法のアドバイスは一切行いません。

3回連続失敗で「敗北」: 3回目の提出でも正解に達しなかった場合、その問題は「Claudeには解けない難易度」と断定し、そこで検証を終了(または順位を確定)します。

  1. プロンプトの条件 問題文のコピペのみ: 入力するのはAtCoderの問題文、制約、入出力例のみです。

af3be404-e830-4c85-8c1a-e5241ab08577.png


では、さっそくABCからチャレンジさせてみます。 A~Gまでの7問があり、難易度順で並んでいます。

A問題・B問題

いうまでもありませんが、瞬殺でした。

7704f8e4-8a01-41ed-92b4-0f06e174c1c8.png

C問題

AtCoder レストランは開店してからN 日間営業しました。

開店してから
i 日目
(1≤i≤N) には次の行動が行われました。

i 日目の朝に、
Ai個の卵を仕入れる。
i 日目の昼に、
Bi個の卵を使用する。このとき、卵は 在庫にある卵の中で仕入れた順に使用される 。
i 日目の夜に、仕入れてから
D 日間以上経過した卵をすべて処分する。
なお、
1 日目の朝の前の時点で卵の在庫は無く、それぞれの日の昼に卵が足りなくなることはありませんでした。
N 日目の夜の行動の後で、レストランに何個の卵が残っているか求めてください。
T 個のテストケースが与えられるので、それぞれについて答えを求めてください。

ナチュラルに全通りシミュレーションすると計算量オーバーしてしまう問題です。 キューを使って賢くシミュレーションする問題です。 個人的には計算量制限に引っかかってほしいところ。

33d1058e-470a-4676-8ae7-3622c823f9b5.png

余裕でした。淡々としていますね。

D問題

長さ N の整数列 A=(A1, A2, …, AN) が与えられます。
整数列 A の部分列 B=(B1, B2, …, B|B|) であって、以下の条件を満たすものの長さの最大値を求めてください。

全ての 1≤i≤|B|−1 を満たす整数 i に対し、
Bi + 1 = B{i+1}が成り立つ。

DP(動的計画法)を使用して計算量を高速化する問題です。 競プロの世界では当たり前に出てきますが、このあたりから解ける人は絞られていきます。

4984b49d-92ac-43ad-b0d9-27e4cf494228.png

難なく解かれてしまいました。私はDPを習得するのに1年半かかりましたが、claudeは秒で、しかもunordered_mapを使用して正解の解法よりも計算量を削減してきました。半端ないですね。

E問題

0≤x,y≤M−1 を満たす整数組 (x,y) のうち、以下の漸化式で表される無限長の数列 (s1,s2,…) が M の倍数を全く含まないようなものは何通りありますか?
s1 = x
s2 = y
sn = A s{n−1} + B s{n−2}  (n≥3)

オートマトンの状態遷移を有効グラフの頂点・辺とみて幅優先探索で解く問題です。ここからは、私自身もコンテストで解けるかといわれると微妙なレベルです。

bfac15d4-146b-4efa-a8e7-1cc40dbd5580.png

おや・・?(笑)

主客転倒はできていそうですが、なにやらコメントまみれのコードを提案してきました。 提出してみます。

12d1261f-83ab-4def-9d32-5e76e96e9747.png

普通に正解でした。

どうやらClaudeくんが気を利かせて、私はコードを理解できないだろうと思いコメントを残してくれただけでした。切ないですね。

F問題

N 頂点 M 辺の有向グラフ G が与えられます。G の頂点は頂点 1、頂点 2、…、頂点 N と番号付けられており、
i 番目 (1≤i≤M) の辺は頂点 Ui から頂点 Vi へ向かう辺です。

k=1,2,…,N について以下の問題を解いてください。

高橋君の目標は、
G から(0 個でも良い)いくつかの頂点、およびそれらの頂点を始点または終点として持つすべての辺を削除することで、次の条件をみたすようにすることです。

頂点 1 から 0 本以上のいくつかの辺を辿って到達可能な頂点が
頂点 1,2,…,k のみである。

高橋君が目標を達成することが可能か判定し、
可能な場合は目標を達成するために高橋君が最低何個の頂点を削除する必要があるか求めてください。

主客転倒の、典型アルゴリズムではない問題のようです。

投げてみます。

43205ca0-09ea-472a-a7d0-b3ba48c35977.png

めちゃくちゃ困っている!!!(笑)

コメントだけで300行くらいあり、文章を見る限り本人も模索を繰り返し行っているようです。さすがに解けないのではないでしょうか。

提出してみます。

1a47e54f-ff21-4954-b4d8-98a8fd852f58.png

やったーー!!!Claudeが間違えた!!

ここにきて初めてのWA(Wrong Answer)でした。興奮が止まりません。

2bf6520a-92d6-40fe-8a4d-5db845350111.png

私は厳しいので、何が間違っているかは伝えません。 F問題は3回目の提出で正解しました。

22a3f8c0-27f5-4726-a583-716033ca497a.png

G問題

正整数からなる数列 X=(X1,…,Xn) に対し、その連長圧縮の任意の (長さ・値) ペアにおいて長さと値が等しいとき、かつそのときに限り、X を 221 数列 と呼びます。より厳密には、以下の条件を満たす数列を 221 数列であるとします。
1≤l≤r≤n を満たす整数組 (l,r) が以下の 3 つの条件をすべて満たすならば、必ず (r−l+1)=Xl が成り立つ。

・l=1 または (l≥2 かつ X{l−1}≠Xl)
・r=n または (r≤n−1 かつ X{r+1}≠Xr)
・Xl=X{l+1}=⋯=Xr

たとえば、
(2,2,3,3,3,1,2,2) は 221 数列ですが、
(1,1) や (4,4,1,4,4) は 221 数列ではありません。

長さ N の正整数列 A=(A1,…,AN) が与えられます。
A の空でない(連続とは限らない)部分列であって、221 数列であるものの個数を 998244353 で割ったあまりを求めてください。
ただし、異なる位置から取り出した部分列であっても、数列として一致するものは区別せずまとめて 1 通りとして数えます。

セグ木上でDPをする問題のようです。おそらく今の私には解けません。 水DiffのF問題が2ペナだったので、青DiffのG問題は解けないと予想。

c485e70a-b8ee-49e1-94b8-b689b72603bb.png

なぜか英語で返ってきましたが、頑張ったみたいです。提出してみましょう。

0043150c-4b7a-4f94-9bf1-4a0b057b4a60.png

解かれてしまいました。なんでやねん! F問題でミスっていたのにG問題はあっさり行けてしまったことから、問題の相性もかなりあるみたいですね。


検証結果:(ABCでは)余裕で世界1位でした

今回の検証ルールに基づき、私はClaudeに対して一切のヒントを与えず、ただ「間違っています」という事実のみをフィードバックとして送信しました。

今回の検証における最終成績を算出します。AIの特性上、プロンプトを提出する時間は「0秒」と仮定し、純粋にミスによるペナルティのみを加算した実戦形式のタイムです。

F問題で2回ミスをしたため、ペナルティとして「5分 × 2」を計算。合計タイムは10分00秒となりました。

447cda65-9d22-4cc7-aaac-f11f70b328a9.png

今回のコンテストにおける実際の優勝タイムは24分17秒でした。つまり、うちのClaudeくんは、ペナルティを含めてもなお、2位以下を14分以上引き離しての「見事優勝」という結果になったのです。

ちなみに、今回取り上げたコンテスト(ABC)は、AtCoderのなかでは比較的易しめなコンテストなので、ARCやAGCなどの上位のコンテストになると結果は変わってくると思います。


今回の検証を通じて出た答えは、極めてシンプルで、かつ残酷なものでした。 「条件さえ整えば、AIはすでに世界1位の座を奪取できる実力を持っている」ということです。

もちろん、これは「すでに言語化された問題文を渡す」という人間側のサポートがあっての結果です。しかし、2度のミスを自力でリカバーし、正解に辿り着くその「粘り強い推論能力」は、もはやトップ競技プログラマーの思考回路と遜色がありません。

2026年現在、Claude Proはもはや「問題を解けるかどうか」を議論する段階を通り越し、「人間が到底追いつけない速度で全完する」という異次元の領域に足を踏み入れています。

競技プログラミングの歴史において、AIがキーボードを叩き、世界の頂点を塗り替える。そんなSFのような光景は、もはや仮定の話ではなく、私たちの目の前で起きている現実なのです。

Skills
Projects
Hobbies
Articles