+ 3

Longest Series Surrounded by M

An array of N integers and an integer M are passed as input. The program must print the longest series of integers surrounded by M on its both ends. The series must not contain the integer M. If more than one longest such series are found print the last occurring series. Boundary Condition(s): 3 <= N <= 1000 1 <= M <= 999999999 Input Format: The first line contains N and M separated by space(s). The second line contains N integers separated by space(s). Output Format: The first line contains the longest series of integers separated by a space. Example Input/Output 1: Input: 7 2 45 2 21 534 2 45 2 Output: 21 534 Example Input/Output 2: Input: 10 23 23 76 23 129 34 12 23 45 67 23 Output: 129 34 12

24th Jun 2018, 7:08 AM
OBULIRAJ S
OBULIRAJ S - avatar
5 Answers
+ 1
#<stdio.h> int distinct_element(int arr[10],int n); int disinct_elements(int arr[],int n) { int i,j; for(i=0;i<=n;i++) { for(j=0;j<i;j++) if(arr[i]==arr[j]) break; if(i==j) printf("%d",arr[i]); } } int main() { int n,arr[10]; arr[10]= {2,4,5,3,8,6,4}; n=sizeof(arr[10])/sizeof(arr[0]); return disinct_elements(arr[10, n]); }
17th Sep 2019, 3:24 AM
Nandani Kumari
Nandani Kumari - avatar
0
I've changed the brief slightly only enter M in the first line and the series separated by space in the second. Ex. 2 45 2 21 534 2 45 2 https://code.sololearn.com/cqHY1132xH4S/?ref=app
24th Jun 2018, 8:48 AM
Louis
Louis - avatar
0
7 cases passed ! 1 failed ! #include<stdio.h> #include <stdlib.h> int main() { long int n; long int m; scanf("%ld %ld ",&n,&m); long int a[n]; long int max=0; long int c=0; long int l=0; long int f=0; long int end=0; for( long int i=0;i<n;i++) { scanf("%ld ",&a[i]); } for(long int i=0;i<n-1;i++) { if(a[i]==m&&f==0) { ++i; c++; f++; while(a[i]!=m) { c++; i++; } if(c>max) { max=c; l=c; end=i; } i--; f=0; c=0; } } //start=end-c; //printf("%d %d ",l,end); //for(int i=start+1;i<end;i++) for(long int i=end-l+1;i<=end-1;i++) { printf("%ld ",a[i]); } }
24th Jun 2018, 2:17 PM
Shivani P
0
#include<stdio.h> #include <stdlib.h> int main() { int N,M,a[10000],i,j,max1=0,max2=0; scanf("%d %d",&N,&M); for(i=0;i<N;i++) scanf("%d",&a[i]); for(i=0;i<N;i++) if(a[i]==M){ for(j=i+1;j<N;j++) if(a[j]==M) { if(j-i>=max2-max1){ max1=i; max2=j; } break; } } for(++max1;max1<max2;max1++) printf("%d ",a[max1]); }
25th Jun 2018, 3:27 PM
revathy
revathy - avatar
0
Please someone correct this code
17th Sep 2019, 3:25 AM
Nandani Kumari
Nandani Kumari - avatar