#include <stdio.h>
int main()
{
long int a[100000];
int n,i;
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%lu",&a[i]);
}
int max=a[0];
int min=a[0];
for(int i=0;i<n;i++){
if(a[i]>max){
max=a[i];
}else if(a[i]<min){
min=a[i];
}
}
printf("%d\n",max);
printf("%d\n",min);
return 0;
}
答案 0 :(得分:1)
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
int main(void){
long int a[100000], max = LONG_MIN;
int n;
scanf("%d", &n);
for(int i = 0; i < n; i++){
scanf("%lu", &a[i]);
if(a[i] > max)
max = a[i];
}
long long int sum = 0;
for(int i = 0; i < n; i++){
sum += labs(a[i] - max);
}
printf("%lld\n", sum);
return 0;
}
答案 1 :(得分:1)
不需要给出OP的数组“例如(1,2,7), M =[1-7]+[2-7}
给出M=11
”
这是
(max - a[0]) + (max - a[1]) + ... + (max - a[n-1])
- &gt; n*max - sum(a[])
#include <stdio.h>
int main(void) {
int max=INT_MIN;
int min=INT_MAX;
long long sum = 0;
int n;
scanf("%d",&n);
for(int i=0;i<n;i++){
int a;
if (scanf("%d",&a) != 1) {
puts("fail");
return -1;
}
if (a > max) max = a;
if (a > min) min = a;
sum += a;
}
printf("min %d\n", min);
printf("max %d\n", max);
printf("m %lld\n", 1LL*n*max - sum);
return 0;
}