#include<stdio.h>
int main(){
int a,b,c,ar[1000]={0},n,i,j,max=-1,min=10000;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d",&a);
if(a>max){
max=a;
}
if(a<min){
min=a;
}
ar[a]++;
}
// printf("%d %d\n",max,min);
if(max-min>=2){
j=-1;
// printf("1\n");
}else if(max==n-1 && ar[max]==n){
j=max+1;
// printf("2\n");
}else if(max==min && min==0){
j=0;
// printf("3\n");
}else if(ar[max]==n-max && ar[min]==max){
j=max;
// printf("4\n");
}else{
j=-1;
// printf("5\n");
}
printf("%d\n",j);
return 0;
}
int main(){
int a,b,c,ar[1000]={0},n,i,j,max=-1,min=10000;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d",&a);
if(a>max){
max=a;
}
if(a<min){
min=a;
}
ar[a]++;
}
// printf("%d %d\n",max,min);
if(max-min>=2){
j=-1;
// printf("1\n");
}else if(max==n-1 && ar[max]==n){
j=max+1;
// printf("2\n");
}else if(max==min && min==0){
j=0;
// printf("3\n");
}else if(ar[max]==n-max && ar[min]==max){
j=max;
// printf("4\n");
}else{
j=-1;
// printf("5\n");
}
printf("%d\n",j);
return 0;
}
this is my code... where is the problem....please... explain
ReplyDelete#include
int main() {
int n;
scanf("%d",&n);
int a[n],i;
scanf("%d",&a[0]);
int min = a[0];
int max = a[0];
int c1 = 0,c2 =0;
for (i = 1; i < n; i++) {
scanf("%d",&a[i]);
if (max < a[i])
max = a[i];
if (min > a[i])
min = a[i];
}
for (i = 0; i < n; i++) {
if (a[i] == min)
c1++;
if (a[i] == max)
c2++;
}
int f;
if ((max-min) >= 2)
f = -1;
else if (max == n-1 && c2 == n)
f = max+1;
else if (max == c1 && min == c2)
f = max;
else
f = -1;
printf("%d\n",f);
return 0;
}