Codeforces Round #476 (Div. 2) C. Greedy Arkady
生活随笔
收集整理的這篇文章主要介紹了
Codeforces Round #476 (Div. 2) C. Greedy Arkady
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
點擊打開題目鏈接
知道了當?shù)谝粋€人比那 k-1 個人多分一次x就是最優(yōu)策略 和 對分糖果的次數(shù)進行枚舉就差不多了
當分i次的時候,
有 (i-1)*x(k-1)+x+i<=n;
x=n/((i-1)*k+1)
不過當枚舉到 i 次 x>m 的時候要重新對這個分i進行判斷,
此時 x 就等于最大值 m 了,要是還可以得出能夠在分 i 次的結(jié)果,就可以對這個 i*m 進行判斷了
#include <iostream> #include <cstdio> //#include <bits/stdc++.h> #define maxn 105 using namespace std; int main() {long long n,k,m,d;cin>>n>>k>>m>>d;long long MAX=0,x;for(int i=1;i<=d;++i){x=n/((i-1)*k+1);if(x==0)break;// if(x>m)// continue;//額 對次數(shù)d進行暴力,這兒直接continue ,豈不就少了此時i次的情況if(x>m)x=m;if((n/(k*x)+(n%(k*x))/x)<i)//說明x=m的情況下i次不成立continue;if(x*i>MAX)MAX=x*i;}cout<<MAX<<endl;return 0; }總結(jié)
以上是生活随笔為你收集整理的Codeforces Round #476 (Div. 2) C. Greedy Arkady的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Codeforces Round #47
- 下一篇: Codeforces Round #47