您的位置:首页 > 其它

CF_An abandoned sentiment from past 【贪心】

2017-06-08 10:03 399 查看

Codeforces Round #418 (Div. 2) A.An abandoned sentiment from past

题目传送门

题目描述:

  给定两个序列a,b。将a序列中值为0的数填入b序列的数。如果可以组成非递增序列,则输出Yes,否则输出No

解题思路:

  试想如果a数组里面值为0的数大于1,则肯定组不成递增序列。因为你可以让那两个数成为递减的序列。所以这道题就可以分两种情况来讨论,第一种,a数组中的为0的个数等于1;第二种大于1。

  当大于1的时候直接输出Yes

  当等于1的时候,把那个b填进去,判断a序列是否为递增数列即可。

注意:

  必须是严格递增,如果相等不算递增序列

[b]代码部分[/b]

#include <iostream>
#include <stdio.h>
#include <string.h>
#include <set>
#include <map>
#include <algorithm>
#include <string>
using namespace std;

int main()
{
int a[105],b[105];
int n,k;
while(~scanf("%d%d",&n,&k))
{
int temp;
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
if(a[i]==0)
temp=i;

}
for(int i=0;i<k;i++)
scanf("%d",&b[i]);
if(k>1)
{
printf("Yes\n");
continue;
}
else
{
a[temp]=b[0
cb41
];
int ans=-1;
bool flag=true;
for(int i=0;i<n;i++)
{
if(a[i]<=ans)
flag=false;
ans=a[i];
}
if(flag)
printf("No\n");
else
printf("Yes\n");

}

}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: