Как из вектора выводить самую длинную строку и ее индекс?

Написал код согласно условиям,

вот условие задачи: В векторе строк some_vector найдите самую длинную строку и её индекс. Выведите её в соответствии с форматом выходных данных. Если несколько строк имеют одинаковую длину, выведите первую из них.

но компилятор яндекс практикума не принимает, указывая на:

Неправильно обработан общий случай и неправильно обработан случай нескольких 
строк максимальной длины.

Не могу понять, где именно неправильно написано ?

// Найдите самую длинную строку и её индекс в some_vector
int longest_index = 0;
int current_index = 0;
for(string num : some_vector){
    int siz = some_vector[longest_index].size();
    int siz1 = some_vector[current_index].size();
    if(siz1 > siz){
        longest_index = current_index;
    }
current_index +=1;
}
cout<<"Longest string \""<<some_vector[longest_index]<< "\" at index "<< current_index<<endl;

Ответы (1 шт):

Автор решения: slava

правильное решение:

// Найдите самую длинную строку и её индекс в some_vector
int longest_index = 0;
int current_index = 0;
for (string num : some_vector){
    if (num.size() > some_vector[longest_index].size() ){
        longest_index = current_index;
    }
    current_index += 1;
}
    cout <<"Longest string \"" <<some_vector[longest_index]<< "\" at index "<<longest_index;
→ Ссылка