#include <stdio.h>
int n;
double m[10000];
int num[10000];
void maxf(void);
int main(void)
{
int i;
scanf(" %d", &n);
for(i=0; i<n; i++)
scanf(" %lf", &m[i]);
maxf();
return 0;
}
void maxf(void)
{
double max=0, a;
int i, j, k, c;
for(i=0; i<n; i++)
{
a=m[i];
if(a>max)
{
max=a;
num[0]=i;
c=1;
}
for(j=i+1; j<n; j++)
{
a=a*m[j];
if(a>max)
{
max=a;
c=j-i+1;
for(k=0; k<c; k++)
num[k]=i+k;
}
}
}
for(i=0; i<c; i++)
printf("%.1lf ", m[num[i]]);
printf("\n%.3lf", max);
}
2017.12.02 11:20
정올 - 실력키우기 - 연속부분최대곱(리스트 출력)
조회 수 246 추천 수 0 댓글 0