cf 1144B
分析:简单思维题,根据取出的数字之间奇偶属性不同可以知道,如果odd==even或者odd与even相差1时,可以全部取出来。当不满足这个条件时候,就要看相差的是奇数还是偶数,相差了多少个(num=|odd-even|),然后将排序后的前num个奇数(或者偶数相加)。
1 |
|
cf 1144C
分析:构造题,题意:给定一个数组,如果可以将数组分成一个单调递增数组和一个单调递减数组,则输出YES,然后分别输出数组的个数和元素,反之,输出NO。
本题学到了STL中的vector1
2
3
4
5
6
7
8
9
10
11
12
13
using namespace std;
int main()
{
int a[4]={0,1,3,3};
vector<int>v(a,a+4);//将数组a的值赋给v
v.erase(unique(v.begin(),v.end()),v.end());// unique将重复的放到最后 ,erase擦除重复的元素
for(int i=0;i<v.size();i++)
{
cout<<v[i]<<" ";
}
return 0;
}
题解代码:
1 |
|