

Người ta định nghĩa một dãy số bằng phẳng là tất cả các số trong dãy đó đều bằng nhau, nếu dãy số đó chỉ gồm 1 số thì cũng được gọi là dãy bằng phẳng có độ dài là 1; Cho dãy số nguyên a1, a2, ... aN. Hãy tìm độ dài lớn nhất của một dãy con (không nhất thiết là các phần tử liên tiếp) là dãy bằng phẳng. Ví dụ dãy 1, 1, 3, 2, 2, 3, 3, 3, 2 thì dãy con bằng phẳng liên tiếp có độ dài lớn nhất bằng 4 (đó là dãy 3, 3, 3, 3).
Dữ liệu: vào từ file BAI2.INP gồm:
+ Dòng đầu là số nguyên dương N ( N<= 106)
+ Dòng thứ 2 là N số nguyên a1, a2, ...aN (|ai| <= 109)
Kết quả: ghi ra file BAI2.OUT gồm một số nguyên duy nhất là kết quả của bài toán
Ví dụ:
BAI2.INP
BAI2.OUT
9
1 1 3 2 2 3 3 3 2
4
sos
Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
#include <bits/stdc++.h>
using namespace std ;
int main() {
int N ;
cin >> N ;
map<int, int> tong ;
for (int i = 0 ; i < N ; i++) {
int num ;
cin >> num ;
tong[num]++ ;
}
int count = 0 ;
for (auto& pair : tong) {
if (pair.second > count) {
count = pair.second ;
}
}
cout << count ;
return 0;
}
Theo mình nghĩ là yêu cầu tìm độ dài của dãy con bằng phẳng lớn nhất thì dùng map để duyệt tất cả các số có trong dãy rồi sau đó tìm giá trị có số lần xuất hiện lớn nhất.
#nguyenminhtuan477
Bạn tham khảo xong tự code lại nhé
Hãy giúp mọi người biết câu trả lời này thế nào?

#include <bits/stdc++.h>
using namespace std;
int main()
{
int N, num, maxCount=0;
cin>>N;
map<int, int> tong;
while (N--)
{
cin>>num;
maxCount=max(maxCount,tong++[num]);
}
cout<<maxCount;
return 0;
}
Chúc bạn học tốt!
#baoduy123
Hãy giúp mọi người biết câu trả lời này thế nào?
Bảng tin
10
360
3
ok mình cảm ơn
240
-736
270
okee ạ