#include <algorithm> #include <cstdio> #include <iostream> #include <map> #include <vector> using namespace std; #define N 201719 int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n; cin >> n; vector<int> seq(N); vector<int> seqs(N); for (int i = 0; i < n; ++i) { int a; cin >> a; seq[a]++; } int res = 0; for (int i = 0; i < N; ++i) { if (seq[i] != 0) { int moves = seq[i] / 2; seq[i] = seq[i] - moves; seq[i + 1] = seq[i + 1] + moves; res = max(i + moves, res); } } cout << res << endl; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | #include <algorithm> #include <cstdio> #include <iostream> #include <map> #include <vector> using namespace std; #define N 201719 int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n; cin >> n; vector<int> seq(N); vector<int> seqs(N); for (int i = 0; i < n; ++i) { int a; cin >> a; seq[a]++; } int res = 0; for (int i = 0; i < N; ++i) { if (seq[i] != 0) { int moves = seq[i] / 2; seq[i] = seq[i] - moves; seq[i + 1] = seq[i + 1] + moves; res = max(i + moves, res); } } cout << res << endl; } |