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が影響あるのかとは思うのですが、正しい原因がわかりません。
回答のほどよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。