/ Vijos / 讨论 / 过河 /

为什么会RE

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

#define L 1000
#define M 200

int v[L]={0},f[L];
long long p[M];
int m,s,t,l,del=0;

int main() {
cin >>l>>s>>t>>m;
for (int i=1;i<=m;i++) cin >>p[i];
f[0]=p[0]=0;
for (int i=1;i<=m;i++) {
p[i]-=del;
if (p[i]-p[i-1]>2*t) {
del+=p[i]-p[i-1]-2*t;
p[i]=p[i-1]+2*t;
}
v[p[i]]=1;
}
l=p[m]+2*t;
for (int i=1;i<=l;i++) {
f[i]=200;
for (int j=i-t;j<=i-s;j++)
if (j>=0) f[i]=min(f[i],f[j]+v[i]);
}
cout <<f[l]<<endl;
return 0;
}
在devcpp上没有问题啊。。。求解惑

1 条评论

  • @ 2014-11-05 15:22:36

    应该是访问数组的时候下标指到数组外了吧……

  • 1

信息

ID
1002
难度
7
分类
动态规划 点击显示
标签
递交数
25264
已通过
4390
通过率
17%
被复制
76
上传者