PAT basic 1045
来源:互联网 发布:克里诺林裙淘宝 编辑:程序博客网 时间:2024/06/02 02:26
#include <iostream>#include <algorithm>#include <vector>int a[100000], b[100000], v[100000];using namespace std;int main() { int n, max = 0, cnt = 0; scanf("%d", &n); for (int i = 0; i < n; i++) { scanf("%d", &a[i]); b[i] = a[i]; } sort(a, a + n); for (int i = 0; i < n; i++) { if(a[i] == b[i] && b[i] > max) v[cnt++] = b[i]; if (b[i] > max) max = b[i]; } printf("%d\n", cnt); for(int i = 0; i < cnt; i++) { if (i != 0) printf(" "); printf("%d", v[i]); } printf("\n");//不加这句会有一个测试点没法通过。. return 0;}/*分析:对原序列sort排序,逐个比较,当当前元素没有变化并且它左边的所有值的最大值都比它小的时候就可以认为它一定是主元(很容易证明正确性的)。如果硬编码就直接运行超时了。。后来才想到这种方法。。一开始有一个测试点段错误。。后来才想到因为输出时候v[0]是非法内存。。改正后格式错误。。(好像可以说明那个第2个测试点是0个主元?。。)然后——加了最后一句printf(“\n”);才正确。。(难道是当没有主元的时候必须要输出空行吗。。)*/
阅读全文
0 0
- PAT basic 1045
- PAT Basic
- PAT(B) Basic level 1045 解题报告
- PAT(basic level) 1045 快速排序(25)
- PAT (Basic Level) Practise
- PAT Basic 1001
- PAT Basic 1002
- PAT Basic 1005
- PAT Basic 1006
- PAT Basic 1007
- PAT Basic 1008
- PAT Basic 1009
- PAT Basic 1010
- pat basic level 1016
- pat basic level 1018
- pat basic level 1019
- PAT(basic level)题解
- PAT basic 1004 : 成绩排名
- PAT basic 1043
- 使用Android Studio时git上的代码更新失败(index.lock),导致无法提交
- Ubuntu 16.04 LTS 安装OpenCV3.2
- PAT basic 1044
- RMQ(一维)
- PAT basic 1045
- JAVA设计模式之单例模式
- PAT basic 1046
- JavaWeb学习之JSP
- PAT basic 1047
- Add to List 169. Majority Element
- 洛谷 P1054 等价表达式
- POJ 1164 The Castle
- PAT basic 1048