社区讨论
到底是哪错了,本蒟蒻找俩天啦!
P2880[USACO07JAN] Balanced Lineup G参与者 4已保存回复 8
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 8 条
- 当前快照
- 1 份
- 快照标识符
- @lo299zjl
- 此快照首次捕获于
- 2023/10/23 10:05 2 年前
- 此快照最后确认于
- 2023/11/03 10:17 2 年前
C
#include<bits/stdc++.h>
using namespace std;
int n,t,stmin[22][500005],stmax[22][500005];
int main(){
cin>>n>>t;
for(int i=1;i<=n;i++){
scanf("%d",&stmin[0][i]);
stmax[0][i]=stmin[0][i];
}
cout<<endl;
for(int i=1;i<=21;i++){
for(int j=1;j+(1<<i)-1<=n;j++){
stmin[i][j]=min(stmin[i-1][j],stmin[i-1][j+(1<<(i-1))]);
stmax[i][j]=max(stmax[i-1][j],stmax[i-1][j+(1<<(i-1))]);
cout<<stmax[i][j]<<" "<<stmin[i][j]<<endl;
}
cout<<endl;
}
cout<<endl;
cout<<endl;
for(int i=1;i<=t;i++){
int a=0,b=0;
scanf("%d%d",&a,&b);
int lo=log2(a-b+1);
int mmin=min(stmin[lo][a],stmin[lo][b-(1<<lo)+1]);
int mmax=max(stmax[lo][a],stmax[lo][b-(1<<lo)+1]);
printf("%d\n",mmax-mmin);
}
return 0;
}
回复
共 8 条回复,欢迎继续交流。
正在加载回复...