time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
Let's call a string good if and only if it consists of only two types of letters — 'a' and 'b' and every two consecutive letters are distinct. For example "baba" and "aba" are good strings and "abb" is a bad string.
You have aa strings "a", bb strings "b" and cc strings "ab". You want to choose some subset of these strings and concatenate them in any arbitrarily order.
What is the length of the longest good string you can obtain this way?
Input
The first line contains three positive integers aa, bb, cc (1≤a,b,c≤1091≤a,b,c≤109) — the number of strings "a", "b" and "ab" respectively.
Output
Print a single number — the maximum possible length of the good string you can obtain.
Examples
input
Copy
1 1 1
output
Copy
4
input
Copy
2 1 2
output
Copy
7
input
Copy
3 5 2
output
Copy
11
input
Copy
2 2 1
output
Copy
6
input
Copy
1000000000 1000000000 1000000000
output
Copy
4000000000
Note
In the first example the optimal string is "baba".
In the second example the optimal string is "abababa".
In the third example the optimal string is "bababababab".
In the fourth example the optimal string is "ababab".
解题说明:此题用贪心算法,找出a和b中的最小值,然后求解即可。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
int main()
{
long long int a, b, ab, s;
scanf("%lld%lld%lld", &a, &b, &ab);
if (a > b)
{
s = 2 * b + 1 + 2 * ab;
}
else if (b > a)
{
s = 2 * a + 1 + 2 * ab;
}
else
{
s = 2 * a + 2 * ab;
}
printf("%lld\n", s);
}