2 条题解
-
1
#include<stdio.h> #define int long long signed main() { int t; scanf("%lld", &t); while (t--) { int n, k, m; scanf("%lld%lld%lld", &n, &k, &m); int q; q = n / k; int count = 0; if(m==n){ printf("%lld\\n",n); //特例m==n } else if (m - (n - q) >= 0) { count = n - q; //非k倍数,全部都要改 count += 1; //把K先算进去 m = m - (n - q); //剩余可改数 q = q - m - 1; //把剩下的m全部给q(k的倍数)改,k提前提出来,所以要减去1 count = count + m + q / 2; //剩余几个k的倍数的两两结合 printf("%lld\\n", count); } else if (m - (n - q) < 0) { count = m + (q + 1) / 2; printf("%lld\\n", count); } } return 0; }
信息
- ID
- 1192
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- 递交数
- 115
- 已通过
- 23
- 上传者