Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define sqr(x) (x)*(x)
- #define FOR(i, a, b) for (int i = a; i <= b; i++)
- using namespace std;
- int n, t, d1, d2, res = 0, te1, te2, MAX;
- vector<int> v, v1;
- int main()
- {
- // freopen("CHINHPHUONG.cpp", "r", stdin);
- // freopen("CHINHPHUONG.out", "w", stdout);
- cin >> t;
- FOR(i, 1, t)
- {
- cin >> n;
- te1 = (int)sqrt(n);
- te2 = te1 + 1;
- if (sqr(te1) != n)
- {
- v.push_back(min((n - sqr(te1)), (sqr(te2) - n)));
- d1++;
- }
- else
- {
- d2++;
- if (n == 0) v1.push_back(2);
- else v1.push_back(1);
- }
- }
- if (d1 == d2){
- cout << 0; return 0;
- }
- if (d1 > d2){
- sort(v.begin(), v.end(), greater<int>());
- FOR(i, t/2, d1 - 1)
- {
- res += v.back();
- // cout << res << "\n";
- v.pop_back();
- }
- }
- else{
- sort(v1.begin(), v1.end(), greater<int>());
- FOR(i, t/2, d2 - 1)
- {
- res += v1.back();
- // cout << res << "\n";
- v1.pop_back();
- }
- }
- // FOR(i, 0, 5) cout << v[i] << " ";
- // FOR(i, 0, 5) cout << v1[i] < " ";
- // cout << d1 << " " << d2 << "\n";
- cout << res;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement