NC54117. Maximum team
描述
输入描述
输入数据包含多组。输入仅一行,包括两个整数n和m(0<=n,m<=10^12),n代表集训队员数量,m代表新生数量。
输出描述
输出仅一行,输出满足条件的最多的队伍数。
示例1
输入:
1 2
输出:
1
示例2
输入:
0 3
输出:
0
C++14(g++5.4) 解法, 执行用时: 4ms, 内存消耗: 344K, 提交时间: 2019-10-15 15:26:54
#include <bits/stdc++.h> using namespace std; int main() { long long n, m; while(~scanf("%lld%lld", &n, &m)) { if(n*2 >= m) printf("%lld\n", (n+m)/3); else { printf("%lld\n", n); } } return 0; }
C(clang 3.9) 解法, 执行用时: 2ms, 内存消耗: 376K, 提交时间: 2020-10-20 14:45:58
#include<stdio.h> int main(){ long n,m,sum; while((scanf("%ld %ld",&n,&m))!=EOF){ sum=n+m; if(n<1) printf("0\n"); else{ if(n>=m || m/2<n) printf("%ld\n",sum/3); if(n<m && m/2>=n) printf("%ld\n",n); } } return 0; }
C++11(clang++ 3.9) 解法, 执行用时: 4ms, 内存消耗: 352K, 提交时间: 2020-01-12 23:35:12
#include <iostream> using namespace std ; int main(){ long long n,m; while(cin>>n>>m){ if(m<=2*n) cout<<(m+n)/3<<endl; else cout<<n<<endl; } return 0; }
Python3(3.5.2) 解法, 执行用时: 33ms, 内存消耗: 3700K, 提交时间: 2019-10-21 09:13:05
while 1: try: n, m = map(int, input().split()) print(n if m >= 2 * n else (m + n) // 3) except: break