Wrong answer on pretest2。
是在 testcase #6654 上WA了。
我自己 hack 不掉。
贪心。
#include <bits/stdc++.h>
using namespace std;
const int maxn=2e5+5;
int t,n;
int a[maxn];
int b[maxn];
int main()
{
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
for(int i=1;i<=n;i++)
{
scanf("%d",&b[i]);
}
bool flag=1;
for(int i=1;i<=n;i++)
{
if(i<n)
{
if(a[i]>b[i])
{
flag=0;
break;
}
if(a[i]<b[i])
{
if(b[i]<=a[i+1])
{
a[i]=b[i];
}
else if(b[i]>a[i+1])
{
a[i]=b[i];
// b[i+1]=max(b[i+1],a[i]);
a[i+1]=a[i]-1;
}
}
}
if(i==n)
{
if(a[i]>b[i])
{
flag=0;
break;
}
if(a[i]<b[i])
{
if(b[i]>a[1]+1)
{
flag=0;
break;
}
}
}
}
if(flag)printf("Yes\n");
else printf("No\n");
}
return 0;
}