fork download
  1. #include <bits/stdc++.h>
  2. #define mod 1000000000
  3. #define f first
  4. #define s second
  5. #define ll long long
  6. using namespace std;
  7. const int NMAX=1e5+7;
  8. int a[NMAX],n;
  9. bool visited[NMAX];
  10. vector <int> b;
  11. void subs2() {
  12. cout<<(ll) a[1]*n-((ll)(n/4))*a[1];
  13. }
  14. int main() {
  15. //ttai20082101
  16. //freopen("promote.inp","r",stdin);
  17. //freopen("promote.out","w",stdout);
  18. ios_base::sync_with_stdio(0);
  19. cin.tie(0);cout.tie(0);
  20. cin>>n;
  21. bool sub2=true;
  22. for (int i=1;i<=n;i++) {
  23. cin>>a[i];
  24. if (a[i]!=a[i-1]&&i>1) sub2=false;
  25. }
  26. if (sub2==true) {
  27. subs2();
  28. return 0;
  29. }
  30. long long ans=0;
  31. sort(a+1,a+n+1);
  32. memset(visited,false,sizeof(visited));
  33. for (int i=1;i<=n;i++) if (visited[i]==false) {
  34. ans+=a[i]+a[n-3*i+3]+a[n-1-3*i+3];
  35. visited[i]=true;
  36. visited[n-3*i+3]=true;
  37. visited[n-3*i+3-1]=true;
  38. visited[n-3*i+3-2]=true;
  39. }
  40. for (int i=1;i<=n;i++) if (visited[i]==false) ans+=a[i];
  41. cout<<ans;
  42. return 0;
  43. }
  44.  
Success #stdin #stdout 0s 5288KB
stdin
Standard input is empty
stdout
Standard output is empty