#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
정올 - 실력키우기 - 연속부분최대곱(리스트 출력)
조회 수 229 추천 수 0 댓글 0