Pagini recente »
2022-02-16-clasa-6-tema-17
|
Atașamentele paginii Clasament 2019-02-14-clasa-6-tema-18
|
Cod sursă (job #159134)
|
Istoria paginii utilizator/mihaistanusoiu
|
Cod sursă (job #785573)
Cod sursă (job
#785573)
#include <stdio.h>
#include <stdlib.h>
int v[100001];
void myqsort(int begin,int end) {
int pivot=v[(begin+end)/2],b=begin,e=end,aux;
while(v[b]<pivot) {
b++;
}
while(v[e]>pivot) {
e--;
}
while(b<e) {
aux=v[b];
v[b]=v[e];
v[e]=aux;
b++;
e--;
while(v[b]<pivot) {
b++;
}
while(v[e]>pivot) {
e--;
}
}
if(begin<e) {
myqsort(begin,e);
}
if(e+1<end) {
myqsort(e+1,end);
}
}
int main() {
FILE *fin,*fout;
int i,n,a,b,sol;
fin=fopen("lanterna.in","r");
fscanf(fin,"%d",&n);
for(i=1; i<=n; i++) {
fscanf(fin,"%d",&v[i]);
}
fclose(fin);
myqsort(1,n);
sol=0;
while(n>3) {
a=v[1]+2*v[2]+v[n];
b=v[n]+2*v[1]+v[n-1];
sol+=(a<b)?a:b;
n-=2;
}
if(n==3) {
sol+=v[1]+v[2]+v[3];
} else {
sol+=v[2];
}
fout=fopen("lanterna.out","w");
fprintf(fout,"%d",sol);
fclose(fout);
return 0;
}