题解 | #合唱队#

合唱队

http://www.nowcoder.com/practice/6d9d69e3898f45169a441632b325c7b4

合唱队:C语言解法

通过用例 6/10 卡在第二个结果,预期输出1995,实际输出1991,有没有大佬知道为什么

#include<stdio.h>
int fmax(int a, int b){
    return a>b?a:b;
}
int main(){
    int num = 0, max = 1;
    while(~scanf("%d\n",&num)){
        int dple[num];
        int dpri[num];
        int arr[num];
        memset(dple, 0, sizeof(dple));
        memset(dpri, 0, sizeof(dpri));
        memset(arr, 0, sizeof(arr));
        dple[0]=1,dpri[num-1]=1;
        for(int i=0; i<num; i++){
            scanf("%d ",&arr[i]);
        }
        for(int j=1; j<num; j++){
            dple[j] = 1;
            for(int k=j-1; k>=0; k--){
                if(arr[j]>arr[k]){
                    dple[j] = fmax(dple[j], dple[k]+1);
                }
            }
        }
        for(int m=num-2; m>=0; m--){
            dpri[m] = 1;
            for(int n=m+1; n<num; n++){
                if(arr[m]>arr[n]){
                    dpri[m] = fmax(dpri[m], dpri[n]+1);
                }
            }
        }
        for(int a=0; a<num; a++){
            dple[a]+=(dpri[a]-1);
            max = fmax(dple[a], max);
        }
        printf("%d\n",num-max);
    }
}




全部评论

相关推荐

粗心的雪碧不放弃:纯学历问题,我这几个月也是一直优化自己的简历,后来发现优化到我自己都觉得牛逼的时候,发现面试数量也没有提升,真就纯学历问题
点赞 评论 收藏
分享
11-18 09:44
Java
小白也想要offer:简历别放洋屁,搞不还还放错了,当然你投外企除外,以上纯属个人观点
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务