【题目】http://codeforces.com/problemset/problem/814/A
【题意】上面的数列中的0是掉下来的数,问把这些数填回去能否不组成一个上升序列?数列中不会出现重复的数
【代码】
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,k;
cin>>n>>k;
int a[205],b[205];
for(int i=0;i<n;i++)
{
cin>>a[i];
}
for(int i=0;i<k;i++)
{
cin>>b[i];
}
//如果掉下来2个以上的数,就一定能不组成一个上升的数列
if(k==1)
{
int p;
for(int i=0;i<n;i++)
{
if(a[i]==0)
p=i;
}
a[p]=b[0];
int f=0;
for(int i=1;i<n;i++)
{
if(a[i]-a[i-1]<0)
{
f=1;
break;
}
}
if(f==0)cout<<"No"<<endl;
else cout<<"Yes"<<endl;
}
else cout<<"Yes"<<endl;
}