⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dingmuban.cpp

📁 这是百度之星2008 第3题 钉子与木板 解答,供参考.
💻 CPP
字号:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

long N,M,*Xi,(*Operation)[4];

void GetInput()
{scanf("%d%d",&N,&M);
//printf("%d%d",N,M);
 Xi=new long[N];    
 for(long i=0;i<N;i++){scanf("%d",Xi+i);}
// for(long i=0;i<N;i++){printf("%d\n",Xi[i]);}
//long (*Operation)[4];
//long abc[50][4];
//Operation=abc; 
  
  Operation=new long[M][4];
 for(long i=0;i<M;i++)
 {
     scanf("%d",&Operation[i][0]);
     if(Operation[i][0]==0)
     {for(long j=1;j<3;j++)
     {
          scanf("%d",&Operation[i][j]);    
     }
     Operation[i][3]=0;
     }
     else
     for(long j=1;j<4;j++)
     {
          scanf("%d",&Operation[i][j]);    
     }
 }

/*  for(long i=0;i<M;i++)
 {
     for(long j=0;j<4;j++)
     {
          printf("%d ",Operation[i][j]);    
     }
     printf("\n");
 }*/
 
     }
     
void Operation_0(long k,long v)
{Xi[k]=v;
     }
long Operation_1(long s,long t,long v)
{
     if(s>t){long xx=s;s=t;t=xx;}

     long max=0;
     for(long i=s;i<=t;i++)
     {
        if(Xi[i]<=v&&v>max)
        {
        max=Xi[i];
        }
     }
     return max;
}

int main()
{
//    freopen("in.txt","r",stdin);
//    freopen("out.txt","w",stdout);
    GetInput();
    for(long i=0;i<M;i++)
    {
    if(Operation[i][0]==0)Operation_0(Operation[i][1]-1,Operation[i][2]);
    else 
    {long Height=Operation_1(Operation[i][1]-1,Operation[i][2]-1,Operation[i][3]);
    printf("%d\n",Height);
         }         
    }
//    system("pause");
    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -