Problem:
Score : 100 points

Problem Statement

We have two bottles for holding water.

Bottle 1 can hold up to A milliliters of water, and now it contains B milliliters of water.

Bottle 2 contains C milliliters of water.

We will transfer water from Bottle 2 to Bottle 1 as much as possible.

How much amount of water will remain in Bottle 2?

Constraints

All values in input are integers.

1 \leq B \leq A \leq 20

1 \leq C \leq 20

Input

Input is given from Standard Input in the following format:

A B C

Output

Print the integer representing the amount of water, in milliliters, that will remain in Bottle 2.

Sample Input 1

6 4 3

Sample Output 1

1

We will transfer two milliliters of water from Bottle 2 to Bottle 1, and one milliliter of water will remain in Bottle 2.

Sample Input 2

8 3 9

Sample Output 2

4

Sample Input 3

12 3 7

Sample Output 3

0

Solution in C++14 (GCC 5.4.1) (judge verdict: Wrong Answer)

#include <bits/stdc++.h>
using namespace std;
#define ll long long

const int maxn = 1e5 + 7;
int a[maxn];
int b[maxn];
int c[maxn];

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

	string s; cin >> s;
	int len = s.size();
	cout << len << endl;
	for (int i = 0; i <= len; i++) a[i] = 1;
	int t = 1000;
	if (len % 2 == 1)t--;
	while (t--)
	{
		memset(b, 0, sizeof(b));
		for (int i = 0; i < len; i++){
			int num = a[i] - b[i];
			if (num == 0) continue;
			a[i] -= num;
			if (s[i] == 'R'){
				a[i + 1] += num;
				b[i + 1] += num;
			}
			else{
				a[i - 1] += num;
				b[i - 1] += num;
			}
		}

		bool ok = true;
		for (int i = 0; i < len; i++) {
			if (a[i] != c[i]){
				ok = false;
				break;
			}
		}
		if (ok) break;
		for (int i = 0; i < len; i++) {
			c[i] = a[i];
		}
		/*
		cout << "***********" << endl;
		cout << a[0];
		for (int i = 1; i < len; i++){
			cout << " " << a[i];
		}
		cout << endl;
		*/
	}
	//cout << "****************" << endl;
	cout << a[0];
	for (int i = 1; i < len; i++){
		cout << " " << a[i];
	}
	cout << endl;

	//system("pause");
	return 0;
}