CF C求调
  • 板块学术版
  • 楼主__vector__
  • 当前回复4
  • 已保存回复4
  • 发布时间2022/9/3 01:14
  • 上次更新2023/10/27 12:46:05
查看原帖
CF C求调
507348
__vector__楼主2022/9/3 01:14

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;
}
2022/9/3 01:14
加载中...