🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
C++

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

Q&A

解決済

1回答

8450閲覧

atcoderの問題でエラー吐いたのだが、よくわからない。

youdooon

総合スコア15

C++

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

0グッド

1クリップ

投稿2019/09/21 06:34

atcoderで問題に挑戦していたのですが、何が原因によるエラーなのかが調べていても、よくわからなかったため、質問させていただきました。
問題はこちらになります → atcoder問題

コードはこのようになっています。

c++

1#include <iostream> 2#include <vector> 3 4#define rep(i, n) for (int (i) = 0; (i) < (n); (i)++) 5 6using namespace std; 7 8int main () { 9 int N; 10 vector <int> A(N); 11 vector <int> B(N); 12 vector <int> C(N-1); 13 14 rep(i, N) cin >> A[i]; 15 rep(i, N) cin >> B[i]; 16 rep(i, N-1) cin >> C[i]; 17 18 int ans = 0; 19 rep(i, N) ans += B[i]; 20 rep(i, N-1) { 21 if ((A[i] + 1) == A[i + 1]) { 22 ans += C[A[i]]; 23 } 24 } 25 26 cout << ans << endl; 27 28 return 0; 29}

よくわかりませんがこのようなエラーを吐きます。

result

1terminate called after throwing an instance of 'std::bad_alloc' 2 what(): std::bad_alloc

調査したところ、よく理解できませんでした。

なぜこのようになるのでしょうか?
プログラムの方に問題点がありますでしょうか?
個人的にはvectorが影響あるのかとは思うのですが、正しい原因がわかりません。

回答のほどよろしくお願いいたします。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

最初にNを標準入力できていませんでした。

投稿2019/09/21 06:41

youdooon

総合スコア15

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問