Go: package main

import (
	"bufio"
	"fmt"
	"os"
	"strconv"
)

var sc = bufio.NewScanner(os.Stdin)

func nextInt() int {
	sc.Scan()
	n, _ := strconv.Atoi(sc.Text())
	return n
}

func main() {
	sc.Split(bufio.ScanWords)

	a, b, c, d, e := nextInt(), nextInt(), nextInt(), nextInt(), nextInt()
	x := a
	if b < x {
		x = b
	}
	if c < x {
		x = c
	}
	y := d
	if e < y {
		y = e
	}

	fmt.Println(x + y - 50)
}

C++: #include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <climits>
#include <cfloat>
#include <ctime>
#include <cassert>
#include <map>
#include <utility>
#include <set>
#include <iostream>
#include <memory>
#include <string>
#include <vector>
#include <algorithm>
#include <functional>
#include <sstream>
#include <complex>
#include <stack>
#include <queue>
#include <numeric>
#include <list>


using namespace std;

#ifdef _MSC_VER
#define __typeof__ decltype
template <class T> int __builtin_popcount(T n) { return n ? 1 + __builtin_popcount(n & (n - 1)) : 0; }
#endif

#define foreach(it, c) for (__typeof__((c).begin()) it=(c).begin(); it != (c).end(); ++it)
#define all(c) (c).begin(), (c).end()
#define rall(c) (c).rbegin(), (c).rend()
#define CLEAR(arr, val) memset(arr, val, sizeof(arr))

#define rep(i, n) for (int i = 0; i < n; ++i)

template <class T> void max_swap(T& a, const T& b) { a = max(a, b); }
template <class T> void min_swap(T& a, const T& b) { a = min(a, b); }

typedef long long ll;
typedef pair<int, int> pint;

const double EPS = 1e-8;
const double PI = acos(-1.0);
const int dx[] = { 0, 1, 0, -1 };
const int dy[] = { 1, 0, -1, 0 };


int main()
{
	int v[5];
	for (int i = 0; i < 5; ++i)
		cin >> v[i];
	cout << *min_element(v, v + 3) + *min_element(v + 3, v + 5) - 50 << endl;
}

C++: #include<cstdio>

int main(){
	int min_ps=30000,min_j=30000,temp;

	for(int i=0;i<5;i++){
		scanf("%d",&temp);
		if(min_ps > temp && i < 3){
			min_ps = temp;
		}
		else if(min_j > temp){
			min_j = temp;
		}
	}
	printf("%d\n",min_ps+min_j-50);
	return 0;
}

C++: #include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;

int main(){
	int p[3], j[2];
	
	for(int i=0; i<3; ++i) scanf(" %d", &p[i]);
	for(int i=0; i<2; ++i) scanf(" %d", &j[i]);
	sort(p, p+3);
	sort(j, j+2);
	
	printf("%d\n", p[0]+j[0]-50);
	return 0;
}

C++: #include <bits/stdc++.h>

using namespace std;

int main() {
    int x1, x2, x3, y1, y2;
    cin >> x1 >> x2 >> x3 >> y1 >> y2;

    int ans = min({x1, x2, x3}) + min(y1, y2) - 50;
    cout << ans << endl;
    return 0;
}

C++: #include<cstdio>
#include<iostream>
int main(){
    int pasta,minpasta=2001,drink,mindrink=2001;
    for(int i=0;i<3;i++){
        scanf("%d",&pasta);
        if(pasta<minpasta)
            minpasta=pasta;
    }
    for(int i=0;i<2;i++){
        scanf("%d",&drink);
        if(drink<mindrink)
            mindrink=drink;
    }
    printf("%d\n",minpasta+mindrink-50);
    return 0;
}

C++: #include <bits/stdc++.h>
using namespace std;

#define times(n, i)      uptil(0, n, i)
#define upto(f, t, i)    for(decltype(t) _##i = (t), i = (f); i <= _##i; i++)
#define uptil(f, t, i)   for(decltype(t) _##i = (t), i = (f); i < _##i; i++)
#define downto(f, t, i)  for(decltype(t) _##i = (t), i = (f); i >= _##i; i--)
#define downtil(f, t, i) for(decltype(t) _##i = (t), i = (f); i > _##i; i--)
#define unless(c) if(!(c))
#define until(c) while(!(c))
#define loop while(true)

#define all(v) v.begin(), v.end()
#define ln << "\n"

struct line{};

template<class T> istream& operator>>(istream& in, vector<T>& v) {
    times(v.capacity(), i) in >> v[i];
    return in;
}

template<class T> const ostream& operator<<(ostream& out, const vector<T>& v) {
    times(v.size(), i) out << (i ? " " : "") << v[i];
    return out;
}

template<class T, class...U> typename enable_if<is_same<T, line>::value, string>::type next(istream& in, const U&... args) {
    string s;
    getline(in, s, args...);
    return move(s);
}

template<class T, class...U> typename enable_if<!is_same<T, line>::value, T>::type next(istream& in, const U&... args) {
    T t(args...);
    in >> t;
    return move(t);
}
template<class T, class...U> auto next(const U&... args) -> decltype(next<T>(cin)) {
    return next<T>(cin, args...);
}

template<class T> T sum(const vector<T>& v) {
    T ans = T();
    for(const T& t : v) ans += t;
    return ans;
}

template<class T> T min_elem(const vector<T>& v) {
    return *min_element(v.begin(), v.end());
}

template<class T> T max_elem(const vector<T>& v) {
    return *max_element(v.begin(), v.end());
}

int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);

    cout << min_elem(next<vector<int>>(3)) + min_elem(next<vector<int>>(2)) - 50 ln;

    return 0;
}

C++: #include<bits/stdc++.h>
using namespace std;int a,s[2]={9999,9999};
main(){for(int i=0;i<5;i++){cin>>a;s[i/3]=min(s[i/3],a);}cout<<s[0]+s[1]-50<<endl;}

C++: #include <bits/stdc++.h>
using namespace std;
int main()
{
  int data;
  int minv;
  int sum = 0;
  for(int i = 0;i < 3;i++) {
    minv = INT_MIN;
    cin >> data;
    minv = min(data,minv);
  }
  sum += minv;
  int a,b;
  cin >> a >> b;
  if(a < b)cout << minv + a - 50 << endl;
  else cout << minv + b - 50 << endl;]
  return 0;
}

C++: #include<iostream>

int main(){
	int a, b, c, d, e,f,g;
	f = 0;
	g = 0;
	std::cin >> a >> b >> c >> d >> e;
	if (a <= c && a <= b){
		f = a;
	}
	if (b <= c && b <= a){
		f = b;
	}
	if (c <= a && c <= b){
		f = c;
	}
	if (d <= e){
		g = d;
	}
	if (e < d){
		g = e;
	}
	std::cout << f + g - 50 << std::endl;
	return 0;
}

C++: #include<iostream>
#include<string>
#include<math.h>
#include<algorithm>
#include<stack>
#include<queue>
#include<set>

using namespace std;

int main()
{
	int pasta[3];
	int juice[2];

	cin >> pasta[0];
	cin >> pasta[1];
	cin >> pasta[2];
	cin >> juice[0];
	cin >> juice[1];

	sort(pasta, pasta + 3);
	sort(juice, juice + 2);

	cout << pasta[0] + juice[0] - 50 << endl;

	getchar();
	getchar();
	return 0;
}

C++: #include <iostream>
using namespace std;

int main() {
	int a,b,c,d,e;
	cin >>a;
	cin >>b;
	cin>>c;
	cin>>d;
	cin>>e;
	if(a<b){
		a=b;
	}
	if(a<c){
		a=c;
	}
	if(d<e){
		d=e;
	}
	cout << a+d-50<<endl;
	return 0;
}

C++: #include<iostream>
using namespace std;
int main(){
	int i, a, ans, min = 10000;
	for (i = 0; i < 3; i++){
		cin >> a;
		if (min > a){
			min = a;
		}
	}
	ans = min - 50;
	min = 10000;
	for (i = 0; i < 2; i++){
		cin >> a;
		if (min > a){
			min = a;
		}
	}
	cout << ans + min;
	return 0;
}

C++: #include <iostream>
using namespace std;

int main(){
  int a,min=10000,min2=10000;
  for(int i=0;i<3;i++){
    cin>>a;
    if(a<min)min=a;
  }
  for(int i=0;i<2;i++){
    cin>>a;
    if(a<min2)min2=a;
  }
  cout<<min+min2-50<<endl;
  return 0;
}