B - Amr and The Large Array

Topic links: http://codeforces.com/problemset/problem/558/B

 

Meaning of the questions:

Degree with a beautiful sequence in which a maximum number of repetitions concerned. The shortest sequence (continuous period) so that it is equal to the beautiful degree prosequence.

 

 1 #include <iostream>
 2 #include <algorithm>
 3 #include <stdlib.h>
 4 #include <string>
 5 #include <string.h>
 6 #include <set>
 7 #include <queue>
 8 #include <stdbool.h>
 9 
10 #define LL long long
11 using namespace std;
12 const int maxn = 1e5 + 10;
13 
14 
15 struct Node{
16     int val;
17     int pos;
18 }arr[maxn];
19 
20 bool cmp(Node a,Node b){
21     if (a.val != b.val){
22         return a.val < b.val;
23     }
24     else{
25         return a.pos < b.pos;
26     }
27 }
28 
29 
30 int main(){
31     int n;
32     scanf("%d",&n);
33     for (int i=1;i<=n;i++){
34         scanf("%d",&arr[i].val);
35         arr[i].pos = i;
36     }
37     sort(arr+1,arr+1+n,cmp);
38     int ansl,ansr;
39     int start = 1;
40     int len = 0,cnt = 1;
41     for (int i=2;i<=n;i++){
42         if(Arr [i] == Kvl Arr [I- 1 ] Kvl) {
 43              Cnt ++ ;
44          }
 45          Else {
 46              If (Chnt> len) {
 47                  Ansl = Arr [START] Kpos;
48                  Ansr = Arr [I- 1 ] Kpos;
49                  len = Chnt;
50              }
 5l              Else  If (Chnt == len) {
 52                  If (Arr [I- 1 ] Kpos-Arr [START] Kpos + 1 <Ansr-Ansl + 1 ) {
 53                     Ansl = Arr [START] Kpos;
54                      Ansr = Arr [I- 1 ] Kpos;
55                  }
 56              }
 57              Start = e;
58              Cnt = L ;
59          }
 60      }
 6l      If (Chnt> len) {
 62          Ansl = Arr [START] Kpos;
63          Ansr = Arr [not] Kpos;
64      }
 65      Else  If (Chnt == len) {
 66          If(Arr [not] Kpos-Arr [START] Kpos + 1 <Ansr-Ansl + 1 ) {
 67              Ansl = Arr [START] Kpos;
68              Ansr = Arr [not] Kpos;
69          }
 70      }
 7l      Printf ( " % d% d \ n " , Ansl, Ansr);
72      return  0 ;
73 }

 

Guess you like

Origin www.cnblogs.com/-Ackerman/p/11371846.html