PAT A 1101. Quick Sort (25)
2017-08-22 00:03
211 查看
#include <cstdio> #include <set> #include <cmath> using namespace std; set<long long> res; struct node{ long long key,nowmax; void larger(long long &n){//检查当前元素左侧的元素是否都比此元素小,同时更新当前序列的最大值 if(n>key){ nowmax=n; } else { n=key; nowmax=key; } } bool check(long long &n){//检查当前元素元素是否为轴 if(key<n){ n=key; if(nowmax==key)return true; } return false; } }; node a[100003]; int main(void){ //freopen("in.log","r",stdin); int n; scanf("%d",&n); long long tmpmax=-1; for(int i=0;i<n;++i){ scanf("%lld",&a[i].key); a[i].larger(tmpmax); //正向扫描 } long long tmpmin=pow(10,10)+1; for(int i=n-1;i>=0;--i){ if(a[i].check(tmpmin))res.insert(a[i].key); //反向扫描 } printf("%d\n",res.size()); for(set<long long>::iterator it=res.begin();it!=res.end();++it){ if(it!=res.begin())printf(" "); printf("%lld",*it); } printf("\n"); return 0; }
相关文章推荐
- 1101. Quick Sort (25)
- 1101. Quick Sort (25)
- PAT-A 1101. Quick Sort (25)
- 【PAT-A】1101. Quick Sort (25)
- PAT (Advanced Level) Practise 1101 Quick Sort (25)
- PAT - 甲级 - 1101. Quick Sort (25)(快速排序)
- PAT 1101. Quick Sort (25)
- 1101. Quick Sort (25)
- pat 1101. Quick Sort (25)
- 1101. Quick Sort (25)
- PTA甲 1101. Quick Sort (25)
- 1101. Quick Sort (25)
- 1101. Quick Sort (25)
- 1101. Quick Sort (25)
- 【PAT】1101. Quick Sort (25)
- 【PAT】【Advanced Level】1101. Quick Sort (25)
- PAT 1101. Quick Sort (25) 已解决
- 1101. Quick Sort (25)
- [PAT]1101. Quick Sort (25)
- PAT 1101. Quick Sort (25) 枢轴判断