PAT(Basic Level)_1045_快速排序
2017-07-26 18:05
302 查看
#include<stdio.h> #include<limits.h> #include<stdlib.h> int cmp(const void *a,const void *b){ return *((int*)a)-*((int*)b); } int main(){ int nums[100000],n; scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%d",nums+i); } int flag[100000]={}; int lmax=0; for(int i=0;i<n;i++){ if(nums[i]>=lmax){ lmax=nums[i]; }else{ flag[i]|=1; } } int rmin=INT_MAX; for(int i=n-1;i>=0;i--){ if(nums[i]<=rmin){ rmin=nums[i]; }else{ flag[i]|=1; } } int cnt=0,sel[100000]; for(int i=0;i<n;i++){ if(!flag[i]){ sel[cnt++]=nums[i]; } } qsort(sel,cnt,sizeof(int),cmp); printf("%d\n",cnt); for(int i=0;i<cnt;i++){ if(i) putchar(' '); printf("%d",sel[i]); } putchar('\n'); return 0; }
相关文章推荐
- PAT basic-level 1045 快速排序 笔记
- PAT (Basic Level)1045. 快速排序
- 浙大PAT(PAT Basic Level) 1045—— 快速排序
- PAT (Basic Level) 1045. 快速排序(25)
- PAT乙级练习题B1045. 快速排序
- PAT (Basic Level) Practise (中文) 1045. 快速排序(25)
- PAT (Basic Level) Practise (中文) 1045 快速排序(25)
- PAT (Basic Level) Practise (中文)1045. 快速排序(25) C语言
- PAT1045 快速排序
- pat 1045. 快速排序
- [PAT-乙级]1045.快速排序
- PAT-B 1045. 快速排序
- PAT乙级1045 快速排序
- PAT(B) Basic level 1045 解题报告
- ZJU_PAT BASIC LEVEL _ 1019 数字的分解与排序
- PAT_BASIC LEVEL_ 1015 多键排序
- PAT (Basic Level) Practise (中文)1045. 快速排序(25)
- PAT1045 快速排序
- PAT BASIC LEVEL 1045. 快速排序(25)
- PAT (Basic Level) Practise (中文)1045. 快速排序(25)