質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
アルゴリズム

アルゴリズムとは、定められた目的を達成するために、プログラムの理論的な動作を定義するものです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

解決済

AtCoderアルゴリズムと数学演習問題集

TANAKA
TANAKA

総合スコア2

アルゴリズム

アルゴリズムとは、定められた目的を達成するために、プログラムの理論的な動作を定義するものです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

1回答

-2評価

0クリップ

381閲覧

投稿2022/08/11 10:22

AtCoderアルゴリズムと数学演習問題集の009 ”Brute Force 2” を解いています。
009 - Brute Force 2

どこが間違っているのか分かりません。
自分のコードのどこが間違っているか指摘してほしいです。
お願いします。

自分のこれです。

c++

#include<iostream> #include<vector> using namespace std; template<class T>void ch(T& a, T b) { if (a < b)a = b; } int main() { int i, j; long long n, w; cin >> n >> w; vector<long long>a(n + 1); vector<vector<long long>>dp(n + 5, vector<long long>(w + 5, 0)); for (i = 1; i <= n; i++)cin >> a[i]; for (i = 1; i <= n; i++) { for (j = 0; j <= w; j++) { dp[i][j] = dp[i - 1][j]; if (j - a[i] >= 0) { dp[i][j] = a[i]; ch(dp[i][j], (dp[i][j] += dp[i - 1][j - a[i]])); } } } for (i = 1; i <= n; i++) { for (j = 0; j <= w; j++) { cout << dp[i][j]; } cout << endl; } if (dp[n][w] == w)cout << "Yes" << endl; else cout << "No" << endl; }

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

アルゴリズム

アルゴリズムとは、定められた目的を達成するために、プログラムの理論的な動作を定義するものです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。