#include #include #include using namespace std; int diff1(vector a) { int max = 0; int count = 0; int size = a.size(); unordered_map m; unordered_map::iterator it; for (int i = 0; i < size; i++) { it = m.find(a[i]); if (it == m.end()) m[a[i]] = 1; else m[a[i]] += 1; } for (int i = 0; i < size; i++) { int num = a[i]; it = m.find(num); count += it->second; it = m.find(a[i] - 1); int temp = 0; if (it != m.end()) { count += it->second; temp = it->second; } if (count > max) max = count; count -= temp; it = m.find(a[i] + 1); if (it != m.end()) count += it->second; if (count > max) max = count; count = 0; } return max; } int main() { int n; cin >> n; vector a(n); for (int a_i = 0; a_i < n; a_i++) cin >> a[a_i]; cout << diff1(a) << "\n"; return 0; }