Sicily 1448. Antimonotonicity

来源:互联网 发布:大数据入门书籍推荐 编辑:程序博客网 时间:2024/05/01 01:27

题目的意思跟 Missile 是一样的(见上篇),数据量变大而已。 A之。

代码:


#include <cstdio>#include <queue>using namespace std ;#define maxn 30009#define max(a,b) a>b?a:b int t,n;int dp[maxn] , a[maxn]  ;int main () {    scanf ( "%d" , &t ) ;    while ( t-- ) {        scanf ( "%d" , &n ) ;    //  a[0] = -1023456789 ;        for ( int i = 1 ; i <= n ; ++i ) scanf ( "%d" , &a[i] ) ;        dp[1] = 1 ;     // '1' means an 'odd' missile                for ( int i = 2 ; i <= n ; ++i ) {            dp[i] = dp[i-1] ;            if ( a[i] > a[i-1] ) {                if ( dp[i-1] % 2 == 0 ) ++dp[i] ;            }            else if ( a[i] < a[i-1] ) {                if ( dp[i-1] % 2 == 1 ) ++dp[i] ;            }        }        int ans = 0 ;    //  for ( int i = 1; i <= n ; ++i ) printf ( "%d " , dp[i][0] );    //  printf ( "\n" ) ;    //  for ( int i = 1 ; i <= n ; ++i ) printf ( "%d " , dp[i][1] ) ;        for ( int i = 1 ; i <= n ; ++i ) {            ans = max ( ans , dp[i] ) ;        }        printf ( "%d\n" , ans ) ;    }    //system ( "pause" ) ;    return 0 ;}


原创粉丝点击