runtime errorの治し方 C++

実現したいこと

RE (runtime error)をなくしたい。

前提

「N 枚のカードがあります.
i枚目のカードには, aiという数が書かれています.
ice と mos は, これらのカードを使ってゲームを行います. ゲームでは, ice と mos が交互に 1 枚ずつカードを取っていきます. ice が先にカードを取ります.
2 人がすべてのカードを取ったときゲームは終了し, 取ったカードの数の合計がその人の得点になります. 2 人とも自分の得点を最大化するように最適な戦略を取った時, mosが1回目にとるカードの数を求めなさい。」という問題を解くためのコードを書いています。

発生している問題・エラーメッセージ

terminate called after throwing an instance of 'std::out_of_range' what(): vector::_M_range_check: __n (which is 0) >= this->size() (which is 0) Aborted (core dumped)

該当のソースコード

#include <bits/stdc++.h>
using namespace std;
int main () {
int N;
cin >> N;
for (int i = 0;i < N;i++) {
vector <int> vec;
int v;
cin >> v;
v = vec.at(i);
sort(vec.begin(), vec.end());
reverse(vec.begin(),vec.end());
cout << vec.at(1) << endl;
}
}

C++

コメントを投稿

0 コメント