st表全wa求助
  • 板块P1816 忠诚
  • 楼主rlgrlgrlg
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/11/22 20:02
  • 上次更新2023/11/22 21:59:08
查看原帖
st表全wa求助
574931
rlgrlgrlg楼主2023/11/22 20:02
#include<iostream>
#include<cstring>
#include<algorithm>
#define END system("pause");
using namespace std;
const int maxn = 2e5 ;
int st[maxn][25];
int m, n;
void prework()
{
  for (int j = 1; j < 23;j++)
  {
    for (int i = 1; i+(1<<j)-1 <= m;i++)
    {
		if(st[i][j - 1]<st[i + (1 << (j - 1))][j - 1])
      		st[i][j] =st[i][j - 1]; 
		else
			st[i][j]=st[i + (1 << (j - 1))][j - 1];
    }
  }
}
int query(int l,int r)
{
  int s = log2(r - l + 1);
  if(st[l][s]<st[r-(1<<s)+1][s])
	  return st[l][s];
  else
	  return st[r-(1<<s)+1][s];
}
int main()
{
  int l, r;
  ios::sync_with_stdio(false);
  cin >> m >> n;
  for (int i = 1; i <= m;i++)
  {
    cin >> st[i][0];
  }
  prework();
  while(n--)
  {
    cin >> l >> r;
    cout<<query(l, r)<<endl;
  }
  END
}

2023/11/22 20:02
加载中...