题目链接:http://abc055.contest.atcoder.jp/tasks/arc069_a?lang=en
Time limit : 2sec / Memory limit : 256MB
Score : 300 points
Snuke loves puzzles.
Today, he is working on a puzzle using S- and c-shaped pieces. In this puzzle, you can combine two c-shaped pieces into one S-shaped piece, as shown in the figure below:
Snuke decided to create as many Scc groups as possible by putting together one S-shaped piece and two c-shaped pieces.
Find the maximum number of Scc groups that can be created when Snuke has N S-shaped pieces and M c-shaped pieces.
The input is given from Standard Input in the following format:
N MPrint the answer.
Two Scc groups can be created as follows:
Combine two c-shaped pieces into one S-shaped pieceCreate two Scc groups, each from one S-shaped piece and two c-shaped piecesSubmit
题意:输入n个S, m个C,一个S可以由2个C组成,求一共有多少个Scc
解析:先把S与C配对,剩下的C/4 + S的个数就是答案
代码:
#include<iostream> #include<algorithm> #include<cstdio> #include<cstring> #include<vector> #include<queue> #include<map> #include<cmath> #define N 1009 using namespace std; const int INF = 0x3f3f3f3f; typedef long long LL; LL fun(LL n, LL m) { if((m / 2) < n) return m / 2; LL ans = n; m = m - n * 2; ans = ans + m / 4; return ans; } int main() { LL n, m; scanf("%lld%lld", &n, &m); LL ans = fun(n, m); printf("%lld\n", ans); return 0; }
