Pagini recente » Cod sursa (job #1151772) | Cod sursa (job #217941) | Cod sursa (job #2104917) | Cod sursa (job #1729319) | Cod sursa (job #585664)
Cod sursa(job #585664)
#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()
{
if(v[1] == v[2])
{
r2 = v[2];
best2 = v[2]*2;
}
else
{
best1 = r1 = v[1];
best2 = r2 = v[2];
}
for ( long i = 3 ; i <= n ; ++i )
{
/*if(v[i] == best2)
{
best2+= v[i] ;
continue;
}*/
if(best2 + r2 + best1 >= best2 + v[i] )
best2+=r2;
else
{
best1 = best2 ;
r1 = r2;
best2 = r2 = v[i];
}
}
}
void tipar()
{
g=fopen("avioane.out" , "w" );
fprintf(g , "%lld" , best1+best2 );
fclose(g);
}