36行少一个大括号,max()把最后一个参数识别成比较函数了
by CC__DIAMOND @ 2024-03-26 22:30:16
```cpp
#include <bits/stdc++.h>
#define C cin>>
#define CO cout<<
int lg2[1000000],st[1000000][22],lg[1000010],a[100010];
using namespace std;
inline int read()
{
int x=0,f=1;char ch=getchar();
while (ch<'0'||ch>'9'){if (ch=='-') f=-1;ch=getchar();}
while (ch>='0'&&ch<='9'){x=x=(x<<3)+(x<<1);ch=getchar();}
if(f==1) return x;
return -x;
}
int mx(int x,int y)
{
int p=lg[y-x+1];
return max(st[x][p],st[y-(1<<p)+1][p]);
}
int main()
{
int n=read(),m=read();
lg[1]=0;
for(int i=1;i<=n;i++)
{
st[i][0]=a[i];
}
for(int i=2;i<=n;i++)
{
lg2[i]=lg2[i/2]+1;
}
for(int i=1;i<22;i++)
{
for(int j=1;j<=n;j++)
{
if(j+(1<<i)-1>n)break;
st[j][i]=max({st[j][i-1],st[j][i-1],st[j+(1<<(i-1))][i-1]});
}
}
return 0;
}
```
如此修改便能通过编译。
by CC__DIAMOND @ 2024-03-26 22:32:15