Pagini recente » Cod sursa (job #2155564) | Cod sursa (job #1502155) | Cod sursa (job #2084083) | Cod sursa (job #1440176) | Cod sursa (job #585619)
Cod sursa(job #585619)
#include<stdio.h>
#include<algorithm>
using namespace std;
#define MAX 100001
FILE *f , *g ;
long n , v[MAX];
long long best1 , best2 , r1 , r2 ;
void citire();
void sortare();
void solve();
void tipar();
int main()
{
citire();
sortare();
solve();
tipar();
return 0;
}
void citire()
{
f=fopen("avioane.in" , "r" );
fscanf(f , "%ld" , &n );
for ( long i = 1 ; i<= n ; ++i )
fscanf(f , "%ld" , &v[i] );
fclose(f);
}
void sortare()
{
sort(v+1 , v+n+1 );
}
void solve()
{
best1 = r1 = v[1] ;
best2 = r2 = v[2] ;
for ( long i = 3 ; i<= n ; ++i )
{
if(best2 + r2 + best1 >= v[i] + best2 )
{
best2+=r2;
}
else
{
best1 = best2;
r1 = r2 ;
best2 = r2 = v[i] ;
}
}
}
void tipar()
{
g=fopen("avioane.out" , "w" );
for ( long i = 1 ; i<= n ; ++i )
fprintf(g , "%ld " , v[i]);
fprintf(g , "\n%lld" , best1+best2 );
fclose(g);
}