Skip to content

Instantly share code, notes, and snippets.

@akhal3d96
Last active August 29, 2015 14:25
Show Gist options
  • Save akhal3d96/a43efdad36c396028bb9 to your computer and use it in GitHub Desktop.
Save akhal3d96/a43efdad36c396028bb9 to your computer and use it in GitHub Desktop.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 1000001
int main()
{
int size,i,x,most=-1,mostn,times[MAX],start[MAX],end[MAX];
memset(times,0,sizeof(int)*MAX);
memset(start,0,sizeof(int)*MAX);
memset(end,0,sizeof(int)*MAX);
scanf("%d",&size);
for(i=0;i<size;i++)
{
scanf("%d",&x);
times[x] +=1;
if(times[x] == 1)
start[x]=i;
end[x]=i;
if(times[x] > mostn)
{
most = x;
mostn = times[x];
}
else if(times[x] == mostn)
{
int New = (end[x] - start[x]);
int Old = (end[most] - start[most]);
if(Old>New)
most = x; //old = new
}
}
printf("%d %d\n",start[most]+1,end[most]+1);
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment