码迷,mamicode.com
首页 > 其他好文 > 详细

51nod 1272 最大距离 O(nlog(n)) , 快排 , 最大连续子串

时间:2017-10-06 19:33:54      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:http   val   nlog   struct   name   turn   col   def   sort   

题目:

技术分享

 

解法:排序,把值小的和索引小的放在前面,记录一下之前索引最小的就可以了。

  没什么可以讲的,上代码把:

 

 

#include <bits\stdc++.h> 
using namespace std;
typedef long long ll;
struct node{
    int value;
    int index;
}a[50010]; 
 
bool cmp(node x,node y){
    if(x.value != y.value) return x.value < y.value;
    return x.index < y.index; 
}

int main() {
  int n;
  cin >> n;
  for(int i = 0;i < n; i++){
      cin >> a[i].value;a[i].index = i;
    }
    
    sort(a,a+n,cmp);
    
    int num = a[0].index;
    int ans = 0;
    
    for(int i = 1;i < n; i++){
        ans = max(ans,a[i].index-num);
        if(a[i].index < num) num = a[i].index;
    }
    
    cout << ans << endl;
  return 0;
}
//  writen by zhangjiuding 

 

51nod 1272 最大距离 O(nlog(n)) , 快排 , 最大连续子串

标签:http   val   nlog   struct   name   turn   col   def   sort   

原文地址:http://www.cnblogs.com/zhangjiuding/p/7632013.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!