#1498 : Diligent Robo
题意:有n个工作需要做,每个机器人一分钟可以做完一份工作,每个机器人可以花q分钟复制本身,最开始有一个机器人,求最少多少分钟可以做完所有工作
思路:复制肯定全部在最开始复制,暴力复制了n次,求时间,取最小的
AC代码:
#include "iostream" #include "string.h" #include "stack" #include "queue" #include "string" #include "vector" #include "set" #include "map" #include "algorithm" #include "stdio.h" #include "math.h" #define ll long long #define bug(x) cout<<x<<" "<<"UUUUU"<<endl; #define mem(a) memset(a,0,sizeof(a)) using namespace std; const int N=1e5+100; ll n,q,t,k,ans=1e18; int main(){ cin>>n>>q; for(int i=0; i<64; ++i){ ll c=1LL<<i; if(n%c!=0) t=1; else t=0; t+=i*q+n/c; ans=min(ans,t); } cout<<ans; return 0; }
时间: 2024-11-10 01:34:24