hdu 1231 DP水题

    技术2024-11-11  24

    #include<iostream>using namespace std;#define M 10001int k;int n[M];int main(){ int i , con , _max , x , y , ans , anx , any; while( scanf( "%d" , &k ) , k ) {  con = 0;  for( i = 0 , con = 0 ; i < k ; ++i )  {    scanf( "%d" , &n[i] );   if( n[i] >= 0 )   { con = 1; }  }  _max = ans = n[0];  x = y = anx = any = 0;  if( con == 0 )  {   printf( "0 %d %d/n" , n[0] , n[k - 1] );   continue;  }  for( i = 1 ; i < k ; ++i )  {   if( _max > 0 )   {    _max += n[i];    y = i;   }   else   {    _max = n[i];    x = i;    y = i;   }   if( ans < _max )   {     ans = _max;     anx = x;    any = y;   }  }  printf( "%d %d %d/n" , ans , n[anx] , n[any] ); } return 0;}

    最新回复(0)