只过了大样例 求调
  • 板块P1816 忠诚
  • 楼主dtbigwaves
  • 当前回复6
  • 已保存回复6
  • 发布时间2024/6/13 20:00
  • 上次更新2024/6/13 22:22:31
查看原帖
只过了大样例 求调
1236701
dtbigwaves楼主2024/6/13 20:00

样例过了 加强的样例也过了 然后及没有然后了 全wa

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
long long m,n,money[N];
struct SegmentTree{
	long long l,r,dat;
}t[N*4];
void build(int p,int l,int r){
	t[p].l=l;t[p].r=r;
	if(l==r){
		t[p].dat=money[l];
		return;
	}
	int mid=(l+r)/2;
	build(p*2,l,mid);
	build(p*2+1,mid+1,r);
	t[p].dat=min(t[p*2].dat,t[p*2+1].dat);
}
int ask(int p,int l,int r){
	if(l<=t[p].l && r>=t[p].r) return t[p].dat;
	int mid=(t[p].l+t[p].r)/2;
	int val=1<<30;
	if(l<=mid) val=min(val,ask(p*2,l,r));
	if(l>mid) val=min(val,ask(p*2+1,l,r));
	return val;
}
int main(){
	ios::sync_with_stdio(false),cin.tie(0);
	cin>>m>>n;
	for(long long i=1;i<=m;i++){
		long long x;
		cin>>x;
		money[i]=x;
	}
	build(1,1,m);
	for(long long i=1;i<=n;i++){
		long long a,b;
		cin>>a>>b;
		cout<<ask(1,a,b)<<' ';
	}
	return 0;
}
2024/6/13 20:00
加载中...