海尔网站推广策划方案,四川建设厅网站复查中,网站设计论文,上海久久玖建筑#x1f30f;博客主页#xff1a;PH_modest的博客主页 #x1f6a9;当前专栏#xff1a;每日一题 #x1f48c;其他专栏#xff1a; #x1f534; 每日反刍 #x1f7e1; C跬步积累 #x1f7e2; C语言跬步积累 #x1f308;座右铭#xff1a;广积粮#xff0c;缓称… 博客主页PH_modest的博客主页 当前专栏每日一题 其他专栏 每日反刍 C跬步积累 C语言跬步积累 座右铭广积粮缓称王 一.题目描述 题目大意 题目链接
B. Arrays Sum Grakn Forces 2020
二.思路分析 这题是一个贪心模拟题 首先aib1ib2i…bki如下图 所以我们可以尝试每次b的取值都和a相等一直取到k次k次之后就不改变b的取值以此往复。 最后考虑一下特殊情况就是k为1的时候如果a数组里的值不是全相等的话无法实现因为第一个数肯定是0如果k为1那么b的 三.代码展示
//https://codeforces.com/problemset/problem/1408/B
//再k次以内优先选择最优的数
//
#includeiostream
#includealgorithm
#define int long long
using namespace std;int s[200020];void solve()
{int n,k;cinnk;for(int i0;in;i){cins[i];}//特判if(k1s[0]!s[n-1]){cout-1\n;return;}int ans0;//记录答案while(s[n-1]!0){int curs[0];int count0;//记录与k的次数for(int j0;jn;j){if(s[j]cur){s[j]0;}else{if(count!k){curs[j];count;j--;continue;}else{for(int ij;in;i){s[i]-cur;}break;}}}ans;}coutans\n;
}signed main()
{int t;cint;while(t--){solve();}return 0;
}最后 每日一题系列旨在养成刷题的习惯所以对代码的解释并不会特别详细但足够引导大家写出来选的题目都不会特别难但也不是特别简单比较考验大家的基础和应用能力我希望能够将这个系列一直写下去也希望大家能够和我一起坚持每天写代码。 之后每个星期都会不定期更新codeforces和atcoder上的题目想要学习算法的友友们千万别错过了有什么疑问欢迎大家在评论区留言或者私信博主 在这里送大家一句话广积粮缓称王