Pagini recente » Cod sursa (job #1279462) | Cod sursa (job #329631) | Cod sursa (job #642556) | Cod sursa (job #2862646) | Cod sursa (job #431694)
Cod sursa(job #431694)
#include <fstream>
using namespace std;
int maxx,smin,maxim,i1,i2,a[30000],i,n,pmax;
int main()
{
ifstream fi("secv7.in");
ofstream fo("secv7.out");
fi>>n;
fi>>maxim;
a[1]=maxim;
pmax=1;
for(i=2;i<=n;i++)
{
fi>>a[i];
if(maxim<=a[i]) { maxim=a[i]; pmax=i; }
}
smin=int(2e9);
//cazul 1
maxx=a[n];
if(pmax<=n-2)
{
for(i=n;i>pmax+1;i--)
{
if(a[i]>maxx) maxx=a[i];
if(a[i-1]+maxx+maxim<smin) { i1=i-2; i2=i-1;
smin=a[i-1]+maxx+maxim;
}
}
}
//cazul 2
if((a[1]+a[pmax]+a[n]<smin)&&(pmax!=n)&&(pmax!=1)) {
i1=1; i2=n-1;
smin=a[1]+a[maxx]+a[n];
}
//cazul 3
maxx=a[1];
if(pmax>=3)
{
for(i=1;i<pmax-1;i++)
{
if(a[i]>maxx) maxx=a[i];
if(a[i+1]+maxx+maxim<smin) {
i1=i; i2=i+1;
smin=a[i+1]+maxx+maxim;
}
}
}
//if(n==3) {smin=a[1]+a[2]+a[3]; i1=1; i2=2; }
fo<<smin<<"\n"<<i1<<" "<<i2<<"\n";
fo.close();
return 0;
}