A. Another One Bites The Dust
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,c表示字符a的个数,字符b的个数,字符ab的个数,然后组成一个字符串,相邻的两个字符不能一样,输出能够得到的最长字符串的长度。
题解:贪心 规律题 如果a,b的个数相等那就是c*2+a+b就是最大长度,不相等就是c*2+min(a,b)+1
c++:
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long a,b,c;
cin>>a>>b>>c;
cout<<(a==b?(a+c)*2:(min(a,b)+c)*2+1)<<endl;
return 0;
}
python:
a,b,c=map(int,input().split())
print(min(a,b)*2+c*2+(a!=b))