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

来源:互联网 发布:淘宝如何设置活动秒杀 编辑:程序博客网 时间:2024/05/22 10:51

题目:
这里写图片描述

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

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

#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 
原创粉丝点击