#include<stdio.h>

struct key {
       int     min;
       double  sum;
       };

int main(int argc,char **argv)
{
     int n,i,j,k;
     int start=0,end=0;
     double currentValue=0,eValue=0;
     struct key opt[100000];
     int a[100000];

     while ( scanf("%d",&n) != EOF )
     {
           start = 0;
           end = 0;

     eValue = 0;
     for ( i =0;i<n;i++)
     {
         scanf("%d",&a[i]);
         opt[i].min = a[i];
         opt[i].sum = a[i];
         currentValue = opt[i].sum * opt[i].min;
         if ( currentValue > eValue )
         {
           eValue = currentValue;
           start  = i;
           end    = i;
         }
     }

     for( i = 0; i <= n -1; i++ )
     {
       for (j=i+1;j<=n-1;j++)
       {
         if(opt[i].min > a[j])
           opt[i].min = a[j];
         opt[i].sum += a[j];

         currentValue = opt[i].sum * opt[i].min;
         if ( currentValue > eValue )
         {
           eValue = currentValue;
           start  = i;
           end    = j;
         }
       }
     }

     printf("%.0f\n%d %d\n",eValue,start+1,end+1);
     
     }
}

I am trying to get a better soln.
This one is n^2.


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algogeeks@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/algogeeks
-~----------~----~----~----~------~----~------~--~---

Reply via email to