-
CodeForces 732B-Cormen ,The Best Friend Of a Man
-
题目链接:B. Cormen — The Best Friend Of a Man
-
思路:
题目大意是有只小狗两天内必须出去散步 k 次,主人列出了n天内每天必须出去散步的次数(就倒垃圾什么的),请求出主人为了满足小狗两天内的散步要求,最少要增加多少次外出散步次数,并输出增加后 n天内每天的散步次数。
因为小狗散步次数是两天内满足就好,最优肯定是 两天与两天间共有的一天散步多次
所有从第二天开始,如果当天和前一天散步数小于k,则当前散步次数增加,使得当天和前一天散步次数为k
-
代码:
#include<iostream>
using namespace std;
#define MAX_SIZE 1000
int Time[MAX_SIZE];
int main()
{
int n,k;
while(cin>>n>>k)
{
int Plus_Walk=0;
for(int i=0;i<n;i++)
cin>>Time[i];
for(int i=1;i<n;i++)
{
int Walk=Time[i-1]+Time[i];
if(Walk<k)
{
Plus_Walk+=k-Walk;
Time[i]+=k-Walk;
}
}
cout<<Plus_Walk<<endl;
for(int i=0;i<n;i++)
{
if(i)
cout<<" "<<Time[i];
else
cout<<Time[i];
}
cout<<endl;
}
return 0;
}