Добавление максимальных элементов из каждой строки в 2D-вектор таким образом, чтобы элемент строки a_I был меньше, чем a_(i+1)
Итак, я хочу собрать максимальный элемент из каждой строки(в 2D-векторе) и поместить его в новый вектор. И если новый вектор отсортирован, я хочу получить сумму всех векторных элементов.
Я попробовал это сделать, но код показывает ошибку : "не удается преобразовать 'std::vector в 'int' присваивание"
кроме того, является ли мой код правильным?
Что я уже пробовал:
#include<iostream> #include<algorithm> #include<vector> using namespace std; int main() { int t,n,v1; vector < vector<int> > vec; vector<int> max; cin>>t; while(t--) { cin>>n; for(int i=0; i<n; i++) { vector<int> row; for(int j=0; j<n; j++) { int val; cin>>val; row.push_back(val); } vec.push_back(row); } for (int i=0; i<n; i++) { for(int j=0; j<n; j++) { v1=*max_element(vec.begin(), vec.end()); max.push_back(v1); } } if(is_sorted(max.begin(),max.end())) { cout<<accumulate(max.begin(), max.end(),0)<<endl; } else cout<<"-1"<<endl; } return 0; }