Написал программу, но почему то заваливается на 7 тесте?

Решаю алгоритмический контест. Вроде бы написал прогу и все перепроверил, но почему то заваливается на 7 тесте

Боб хочет тайно написать на заборе перед домом Алисы слово из n букв. Он выбрал шрифт так, что на заборе помещаются ровно n букв — по одной букве на каждую доску забора.

Чтобы сэкономить время, Боб сделал специального робота. Робот за минуту может написать на заборе строку из произвольного числа букв подряд в произвольном месте (при этом, если на этом месте раньше была какая-то буква, она без остатка заменяется новой).

Боб хочет составить программу для робота так, что требуемое слово будет написано как можно быстрее. Буквы слова должны следовать подряд, вставка лишних пробелов, равно как и не входящие в слово буквы вне его, запрещается.

Формат ввода
В первой строке входного файла записано число n (1 ≤ n ≤ 300), где n — длина слова. Вторая строка содержит строку из n заглавных латинских букв — слово, которое хочет написать Боб.

Формат вывода
В первой строке выходного файла выведите m - наименьшее возможное время написания слова в секундах.

Следующие m строк должны содержать программу для робота. Каждая строка должна содержать два числа li и ri, а также заглавную букву латинского алфавита bi и означает, что робот должен написать букву bi на всех досках с li по ri (при этом должно выполняться 1 ≤ li ≤ ri ≤ n).

#include <iostream>
#include <vector>
#include <set>
#include <map>
#include <algorithm>
#include <cmath>
#include <cstddef>
using namespace std;
int find_first(vector<char> &arr, char elem) {
    for (int i = 0; i < arr.size(); i++) {
        if (arr[i] == elem) {
            return  i + 1;
        }
    }
}
int find_last(vector<char> &arr, char elem) {
    for (int i = arr.size() - 1; i > - 1; i--) {
        if (arr[i] == elem) {
            return  i + 1;
        }
    }
}
int main()
{
   int n;
   cin >> n;
   vector<char> arr(n);
   set<char> s;
   for (int i = 0; i < n; i++) {
       cin >> arr[i];
       s.insert(arr[i]);
   }
   cout << s.size() << endl;
    for (auto i: s) cout << find_first(arr, i)  << ' '<<  find_last(arr, i) << ' ' << i << endl;
    return 0;
}

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