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;
}