[CF1303B] National Project - 数学
2024-09-06 21:21:35
Solution
- \(2a>n\),一次性结束,直接输出 \(n\)
- \(a \geq b\),那么一直修即可,直接输出 \(n\)
- 否则,\(a\) 占弱势,我们考虑用 \(a\) 修一半需要的完整轮次数为 \([(n-1)/2a]\) ,那么这些轮中, \(a\) 修掉的个数为 \([n/2a]a\),而 \(b\) 修掉的个数则是 \([n/2], [n/2a]b\) 中的较小值。计算剩余量然后暴力修即可。
#include <bits/stdc++.h>
using namespace std;
#define int long long
int n,a,b;
signed main() {
int t;
cin>>t;
while(t--) {
cin>>n>>a>>b;
if(2*a>n || a>=b) {
cout<<n<<endl;
}
else {
int d=(n-1)/(2*a);
int xa=d*a;
int xb=min(n/2,d*b);
int r=n-xa-xb;
//cout<<d<<" "<<xa<<" "<<" "<<xb<<" "<<r<<endl;
cout<<d*(a+b)+r<<endl;
}
}
}
最新文章
- 常用HTTP状态码和CURL 000问题
- 相机标定:Matlab标定工具箱使用要点
- YOU ARE MY SUNSHINE
- C#开发实例 鼠标篇
- jQuery操作控件
- rsync-3.0.6-64
- POJ 3660 Cow Contest (floyd求联通关系)
- 高可用软件Keepalived
- 安卓Android控件ListView获取item中EditText值
- Django模板-分离的模板
- redis连接池的使用方法
- 【VMware Workstation】虚拟机静态IP NAT连接外部网络(局域网以及广域网)
- java小入门的感觉
- net view ERROR 6118
- P1582 倒水
- js 正则表达式之环视结构
- 正确理解c和c ++的复杂类型声明
- How to diagnose vehicle fault code by BMW ICOM and ISTA-D software
- Js与正则表达式
- Android学习之——SpannableString和TextView的使用及研究