Написал программу, но почему то заваливается на 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;
}