Pagini recente »
Diferențe pentru utilizator/petruapostol între reviziile 52 și 53
|
Monitorul de evaluare
|
Diferențe pentru utilizator/petruapostol între reviziile 36 și 35
|
Monitorul de evaluare
|
Cod sursă (job #157712)
Cod sursă (job
#157712)
#include <fstream>
using namespace std;
ifstream fin("lanterna.in");
ofstream fout("lanterna.out");
int n,x[100001];
int main()
{
fin>>n;
int i,j;
for(i=1;i<=n;i++)
fin>>x[i];
fin.close();
for(i=1;i<n;i++)
for(j=i+1;j<=n;j++)
if(x[i]>x[j])
swap(x[i],x[j]);
int s=0,a,b;
while(n>3)
{
a=x[1]+x[2]+x[2]+x[n];
b=x[1]*2+x[n-1]+x[n];
if(a>b)
s=s+b;
else
s=s+a;
n-=2;
}
if(n==3)
s=s+x[1]+x[2]+x[3];
else
s=s+x[2];
fout<<s;
return 0;
}