hdu 4791 RMQ

我是来存RMQ板的


#include   
#include   
#include   
#include   
#include   
#include   
#include   
#include   
#include   
#include   
#include   
#include   
#include   
#include   
#include   
#include   
#include   
#include   
#include   
#include   
#pragma comment(linker, "/STACK:102400000,102400000")  
typedef long long ll;  
#define INF 1e9  
#define maxn 110010  
#define maxm 100086+10  
#define mod 1000000009  
#define eps 1e-7  
#define PI acos(-1.0)  
#define rep(i,n) for(int i=0;i= n) return (ll)x * p[n-1];
	ll ans = 0;
	if(s[pos] == x) ans = a[pos];
	else ans = (ll)x * p[pos-1];
	ans = min(ans,query(pos,n-1));
	return ans;
}
int main()
{
#ifndef ONLINE_JUDGE  
	freopen("in.txt","r",stdin);  
	//	freopen("out.txt","w",stdout);  
#endif  
	int T;
	cin>>T;
	while(T--)
	{
		scanf("%d%d",&n,&m);
		rep(i,n)
		{
			scanf("%d%d",&s[i],&p[i]);
			a[i] = (ll)s[i] * p[i];
		}
		RMQ_init();
		int x;
		while(m--)
		{
			scan(x);
			printf("%I64d\n",solve(x));
		}
	}
	return 0;
}


你可能感兴趣的:(RMQ)