Plants Watering(ECPC2019)


考虑相邻的两个树的高度

算出相邻两个树高度满足题意的时间区间

最后对每个时间区间取并 如果交集不为0 则取交集最小的 如果交集为0 则不成立

#include
using namespace std;
#define lowbit(x) x&(-x)
#define ll long long
const int maxn=1e5+5;
ll a[maxn],g[maxn];
int n;
ll L=0,R=1e9;
ll maxl(ll aa,ll bb){
	if(aa>bb)return aa;
	return bb;
}
ll minl (ll aa,ll bb){
	if(aa>bb)return bb;
	return aa;
}
int main(){
	freopen("plants.in","r",stdin);
	cin>>n;
	for(int i=1;i<=n;i++)cin>>a[i];
	for(int i=1;i<=n;i++)cin>>g[i];
	for(int i=1;ig[i+1]){
			if(a[i]>a[i+1]){
				cout<<-1<