Giải hộ mình bài này với ạ. C++ nha
Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
#include <iostream>
#include <string>
using namespace std;
pair<int,int> alpha[26];
int main(){
freopen("NOIVONG.INP","r",stdin);
freopen("NOIVONG.OUT","w",stdout);
int max = 0;
for (int i = 0; i < 26;++i) alpha[i] = {-1,-1};
string s;getline(cin,s);
for (int i = 0;i < s.size();++i){
int num = (int)s[i] - 65;
if (alpha[num].first == -1) alpha[num].first = i;
if (i > alpha[num].second) alpha[num].second = i;
}
for (pair<int,int> x : alpha){
if (x.first == -1) continue;
if (x.second-x.first+1 > max) max = x.second-x.first+1;
}
cout<<max;
}
Hãy giúp mọi người biết câu trả lời này thế nào?
>> Học trực tuyến Lớp 9 & Lộ trình UP10 trên Tuyensinh247.com
>> Chi tiết khoá học xem: TẠI ĐÂY
Đầy đủ khoá học các bộ sách (Kết nối tri thức với cuộc sống; Chân trời sáng tạo; Cánh diều), theo lộ trình 3: Nền Tảng, Luyện Thi, Luyện Đề. Bứt phá điểm lớp 9, thi vào lớp 10 kết quả cao. Hoàn trả học phí nếu học không hiệu quả.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Bảng tin