解题思路:





注意事项:





参考代码:

#include<cstdio>  
#include<cstring>  
#define max(u,v) u>v ? u:v  
#define min(u,v) u<v ? u:v  
  
int n,m,x,a[1001],fmax[1001][1001],fmin[1001][1001];  
int maxx=-999999999,minn=999999999;  
  
int main()  
{  
    scanf("%d%d",&n,&m);  
    memset(fmin,127,sizeof(fmin));  
    for(int i=1;i<=n*2;i++) fmin[i][i]=0;  
    for(int i=1;i<=n;i++)  
    {  
        scanf("%d",&x);  
        a[i]=a[i-1]+x;  
    }  
    for(int i=n+1;i<=2*n-1;i++) a[i]=a[i-n]+a[n];  
    for(int l=1;l<=n;l++)  
      for(int i=1;i<=n-l;i++)  
      {  
        int j=l+i;  
        for(int k=i;k<j;k++)  
        {  
            fmax[i][j]=max(fmax[i][j],fmax[i][k]+fmax[k+1][j]+a[j]-a[i-1]);  
            fmin[i][j]=min(fmin[i][j],fmin[i][k]+fmin[k+1][j]+a[j]-a[i-1]);  
        }  
      }  
    for(int i=1;i<=n;i++)  
    {  
        if(minn>fmin[i][i+n-1]) minn=fmin[i][i+n-1];  
        if(maxx<fmax[i][i+n-1]) maxx=fmax[i][i+n-1];  
    }  
    if(m>maxx) printf("It is easy\n");  
    else if(m<minn) printf("I am..Sha...X\n");  
    else printf("I will go to play WarIII\n");  
    return 0;  
}


点赞(2)
 

0.0分

1 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论