Kai’blog

主博客 | 势利纷华,近之而不染者洁,不近者亦洁,君子不立危墙之下。

CF1638B【黄】-思维题

这道题倒是不难想,半分钟想到思路10分钟不到调完代码。但随后TLE了...然后用上cincout加速,依旧TLE了,直到最后换上快读才AC,试验卡常技巧的过程中浪费了十来多分钟时间。以后写题还是随手用上常数优化吧,比如快读比如++i比如尾递归等等

Code

#include <iostream>
#pragma GCC optimize(2)
using namespace std;
int T,n,x;
char *p1,*p2,buf[100000];
#define nc() (p1==p2 && (p2=(p1=buf)+fread(buf,1,100000,stdin),p1==p2)?EOF:*p1++)
int read()
{
    int x=0,f=1;
    char ch=nc();
    while(ch<48||ch>57)
    {
        if(ch=='-')
            f=-1;
        ch=nc();
    }
    while(ch>=48&&ch<=57)
        x=x*10+ch-48,ch=nc();
   	return x*f;
}
signed main()
{

	T=read();
	while(T--)
	{
		n=read();
		int minji=1,minou=2,f=1;
		for(int i=1;i<=n;i++)
		{
			x=read();
			if(f==1)
			{
				if(x%2==0)
				{
					if(x<minou)
					{
						cout<<"No"<<endl;
						f=0;
					}
					else
					{
						minou=x;
					}
				}
				else
				{
					if(x<minji)
					{
						cout<<"No"<<endl;
						f=0;
					}
					else
					{
						minji=x;
					}
				}
			}
		}
		if(f==1)cout<<"Yes"<<endl;
	}
	
	return 0;
}
posted @ 2024-02-17 19:25  Kai-G  阅读(10)  评论(0编辑  收藏  举报
Copyright © 2019-2020 拱垲. All rights reserved.