您的位置:首页 > 其它

记某次codeforces考试 B. Levko and Array

2016-07-27 21:18 148 查看
又无奈的去看了黄学长的代码。

(吐槽,黄学长的代码没有注释......

表示看了好久才懂  好久....

附代码

#include<cstdio>
#include<cstring>
#include<iostream>
#include<cmath>
#include<algorithm>
using namespace std;

typedef long long ll;
ll N,M,a[2005],f[2005];

bool check(ll mid)
{
for (int i=1;i<=N;i++)
{
f[i]=i-1;
for (int j=1;j<i;j++)
{
if (abs(a[i]-a[j])<=(i-j)*mid)
f[i]=min(f[i],f[j]+(i-j-1));
}
if (f[i]+N-i<=M)return true;
}
return false;
}

int main()
{
scanf("%I64d%I64d",&N,&M);
for (int i=1;i<=N;i++)
{
scanf("%I64d",&a[i]);
//if (i!=1) hehe[i]=abs(hehe[i]-hehe[i-1]);
}

ll l=0,r=2000000000;
while(l<=r)
{
ll mid=(l+r)>>1;
if (check(mid)) r=mid-1;
else l=mid+1;
}
printf("%I64d\n",l);

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: