#include <assert.h>
#include <limits.h>
#include <math.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char* readline();
char** split_string(char*);
// Complete the miniMaxSum function below.
void miniMaxSum(int arr_count, int* arr) {
static long long int result[5];
long long int sum=0;
for(int i=0;i<arr_count;i++)
{
sum=sum+arr[i];
}
for(int j=0;j<arr_count;j++)
{result[j]=sum-arr[j];}
long long int max=result[0],min=result[0];
for(int x=0;x<arr_count;x++)
{ if(max<result[x])
{max=result[x];}
else if (min>result[x])
{min=result[x];}
}
}
int main()
{
char** arr_temp = split_string(readline());
int* arr
= malloc(5 * sizeof(int));
for (int i = 0; i < 5; i++) {
char* arr_item_endptr;
char* arr_item_str = *(arr_temp + i);
int arr_item
= strtol(arr_item_str
, &arr_item_endptr
, 10);
if (arr_item_endptr
== arr_item_str
|| *arr_item_endptr
!= '\0') { exit(EXIT_FAILURE
); }
*(arr + i) = arr_item;
}
int arr_count = 5;
miniMaxSum(arr_count, arr);
return 0;
}
char* readline() {
size_t alloc_length = 1024;
size_t data_length = 0;
char* data
= malloc(alloc_length
);
while (true) {
char* cursor = data + data_length;
char* line
= fgets(cursor
, alloc_length
- data_length
, stdin
);
if (!line) { break; }
data_length
+= strlen(cursor
);
if (data_length < alloc_length - 1 || data[data_length - 1] == '\n') { break; }
size_t new_length = alloc_length << 1;
if (!data) { break; }
alloc_length = new_length;
}
if (data[data_length - 1] == '\n') {
data[data_length - 1] = '\0';
}
return data;
}
char** split_string(char* str) {
char** splits = NULL;
char* token
= strtok(str
, " ");
int spaces = 0;
while (token) {
splits
= realloc(splits
, sizeof(char*) * ++spaces
); if (!splits) {
return splits;
}
splits[spaces - 1] = token;
}
return splits;
}
I2luY2x1ZGUgPGFzc2VydC5oPgojaW5jbHVkZSA8bGltaXRzLmg+CiNpbmNsdWRlIDxtYXRoLmg+CiNpbmNsdWRlIDxzdGRib29sLmg+CiNpbmNsdWRlIDxzdGRkZWYuaD4KI2luY2x1ZGUgPHN0ZGludC5oPgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8c3RyaW5nLmg+CgpjaGFyKiByZWFkbGluZSgpOwpjaGFyKiogc3BsaXRfc3RyaW5nKGNoYXIqKTsKCi8vIENvbXBsZXRlIHRoZSBtaW5pTWF4U3VtIGZ1bmN0aW9uIGJlbG93Lgp2b2lkIG1pbmlNYXhTdW0oaW50IGFycl9jb3VudCwgaW50KiBhcnIpIHsKICAgIHN0YXRpYyBsb25nIGxvbmcgaW50IHJlc3VsdFs1XTsgCmxvbmcgbG9uZyBpbnQgc3VtPTA7CiAgIApmb3IoaW50IGk9MDtpPGFycl9jb3VudDtpKyspCnsKICAgIHN1bT1zdW0rYXJyW2ldOwogICAKfQogICAgZm9yKGludCBqPTA7ajxhcnJfY291bnQ7aisrKQogICAge3Jlc3VsdFtqXT1zdW0tYXJyW2pdO30KICAgIAogICAgbG9uZyBsb25nIGludCBtYXg9cmVzdWx0WzBdLG1pbj1yZXN1bHRbMF07CiAgICAKICAgIGZvcihpbnQgeD0wO3g8YXJyX2NvdW50O3grKykKICAgIHsgaWYobWF4PHJlc3VsdFt4XSkKICAgIHttYXg9cmVzdWx0W3hdO30KICAgICBlbHNlIGlmIChtaW4+cmVzdWx0W3hdKQogICAgIHttaW49cmVzdWx0W3hdO30KICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgIH0KICAgIHByaW50ZigiJWQiIiAiIiVkIixtaW4sbWF4KTsKICAKCn0KCmludCBtYWluKCkKewogICAgY2hhcioqIGFycl90ZW1wID0gc3BsaXRfc3RyaW5nKHJlYWRsaW5lKCkpOwoKICAgIGludCogYXJyID0gbWFsbG9jKDUgKiBzaXplb2YoaW50KSk7CgogICAgZm9yIChpbnQgaSA9IDA7IGkgPCA1OyBpKyspIHsKICAgICAgICBjaGFyKiBhcnJfaXRlbV9lbmRwdHI7CiAgICAgICAgY2hhciogYXJyX2l0ZW1fc3RyID0gKihhcnJfdGVtcCArIGkpOwogICAgICAgIGludCBhcnJfaXRlbSA9IHN0cnRvbChhcnJfaXRlbV9zdHIsICZhcnJfaXRlbV9lbmRwdHIsIDEwKTsKCiAgICAgICAgaWYgKGFycl9pdGVtX2VuZHB0ciA9PSBhcnJfaXRlbV9zdHIgfHwgKmFycl9pdGVtX2VuZHB0ciAhPSAnXDAnKSB7IGV4aXQoRVhJVF9GQUlMVVJFKTsgfQoKICAgICAgICAqKGFyciArIGkpID0gYXJyX2l0ZW07CiAgICB9CgogICAgaW50IGFycl9jb3VudCA9IDU7CgogICAgbWluaU1heFN1bShhcnJfY291bnQsIGFycik7CgogICAgcmV0dXJuIDA7Cn0KCmNoYXIqIHJlYWRsaW5lKCkgewogICAgc2l6ZV90IGFsbG9jX2xlbmd0aCA9IDEwMjQ7CiAgICBzaXplX3QgZGF0YV9sZW5ndGggPSAwOwogICAgY2hhciogZGF0YSA9IG1hbGxvYyhhbGxvY19sZW5ndGgpOwoKICAgIHdoaWxlICh0cnVlKSB7CiAgICAgICAgY2hhciogY3Vyc29yID0gZGF0YSArIGRhdGFfbGVuZ3RoOwogICAgICAgIGNoYXIqIGxpbmUgPSBmZ2V0cyhjdXJzb3IsIGFsbG9jX2xlbmd0aCAtIGRhdGFfbGVuZ3RoLCBzdGRpbik7CgogICAgICAgIGlmICghbGluZSkgeyBicmVhazsgfQoKICAgICAgICBkYXRhX2xlbmd0aCArPSBzdHJsZW4oY3Vyc29yKTsKCiAgICAgICAgaWYgKGRhdGFfbGVuZ3RoIDwgYWxsb2NfbGVuZ3RoIC0gMSB8fCBkYXRhW2RhdGFfbGVuZ3RoIC0gMV0gPT0gJ1xuJykgeyBicmVhazsgfQoKICAgICAgICBzaXplX3QgbmV3X2xlbmd0aCA9IGFsbG9jX2xlbmd0aCA8PCAxOwogICAgICAgIGRhdGEgPSByZWFsbG9jKGRhdGEsIG5ld19sZW5ndGgpOwoKICAgICAgICBpZiAoIWRhdGEpIHsgYnJlYWs7IH0KCiAgICAgICAgYWxsb2NfbGVuZ3RoID0gbmV3X2xlbmd0aDsKICAgIH0KCiAgICBpZiAoZGF0YVtkYXRhX2xlbmd0aCAtIDFdID09ICdcbicpIHsKICAgICAgICBkYXRhW2RhdGFfbGVuZ3RoIC0gMV0gPSAnXDAnOwogICAgfQoKICAgIGRhdGEgPSByZWFsbG9jKGRhdGEsIGRhdGFfbGVuZ3RoKTsKCiAgICByZXR1cm4gZGF0YTsKfQoKY2hhcioqIHNwbGl0X3N0cmluZyhjaGFyKiBzdHIpIHsKICAgIGNoYXIqKiBzcGxpdHMgPSBOVUxMOwogICAgY2hhciogdG9rZW4gPSBzdHJ0b2soc3RyLCAiICIpOwoKICAgIGludCBzcGFjZXMgPSAwOwoKICAgIHdoaWxlICh0b2tlbikgewogICAgICAgIHNwbGl0cyA9IHJlYWxsb2Moc3BsaXRzLCBzaXplb2YoY2hhciopICogKytzcGFjZXMpOwogICAgICAgIGlmICghc3BsaXRzKSB7CiAgICAgICAgICAgIHJldHVybiBzcGxpdHM7CiAgICAgICAgfQoKICAgICAgICBzcGxpdHNbc3BhY2VzIC0gMV0gPSB0b2tlbjsKCiAgICAgICAgdG9rZW4gPSBzdHJ0b2soTlVMTCwgIiAiKTsKICAgIH0KCiAgICByZXR1cm4gc3BsaXRzOwp9Cg==