[报告]
水题一道。
先将输入进来的数/2+1,然后将那些数排序,取前N/2+1个就可以了。
[程序]
// TASK: 1025 Democracy in danger#include <cstdlib>
#include <iostream>
#define N 101
using namespace std;
long f[N+1];
inline void quick(long b,long e)
{
long i=b,j=e,x=f[rand()%(e-b+1)+b];
while (i<=j)
{
while (f[i]<x) i++;
while (f[j]>x) j--;
if (i<=j)
{
long t=f[i];f[i]=f[j];f[j]=t;
i++;j--;
}
}
if (b<j) quick(b,j);
if (i<e) quick(i,e);
}
int main(int argc, char *argv[])
{
long n;
cin >> n;
for (long i=1;i<=n;f[i]=f[i]/2+1,i++)
cin >> f[i];
quick(1,n);
long ans=0;
for (long i=1;i<=n/2+1;i++)
ans+=f[i];
cout << ans << endl;
// system("PAUSE");
return EXIT_SUCCESS;
}